我需要在Set
中存储多个对象。有时我想在Set
中迭代所有,有时我只想迭代实现特定接口。有些对象会实现我想要查看的几个接口。
是否有设计模式或Guava / Java类允许在Set
或其他集合上按类型查看?最好以尽可能最有效的方式,因为这个代码将是每17毫秒调用核心游戏循环的核心。
答案 0 :(得分:7)
使用番石榴 -
Sets.filter(set, Predicates.instanceOf(Foo.class));
答案 1 :(得分:0)
您是否考虑过将对象保存在哈希表中?
Hashtable<String,Set<YourObject>> ht = new Hashtable<String,Set<YourObject>>();
String是类型名称。这样你可以选择要迭代的内容。