我想在集合中进行搜索而无需在elments上手动迭代,但似乎没有办法执行Collections.search(myset,target,new ComparatorThing() )。我没看到什么吗?如何在集合中搜索(使用比较器)
谢谢。
编辑:
- 我正在寻找比元素的自然顺序不同的另一领域。
- 作为手动解决方法,我使用了以下静态方法。应该没问题,因为无论如何你都无法在比较器中使用自定义字段对其他对象进行任何推测。
public static T search(final Set set, final T searchEntry, final Comparator comparator) {
for (final T entry : set) {
if (comparator.compare(entry, searchEntry) == 0) {
return entry;
}
}
return null;
}
谢谢,这将有所帮助。人们应该更频繁地使用公共收藏,但不知何故我不会。这些东西中的很多应该集成到std API imho中。 – 2010-07-30 12:40:23