鉴于MyClass
的List
一个对象(如果需要定制Comparitor myComparitor
),有什么好的选择是有检查,如果List
包含两个“平等”的对象?的Java:测试集合中的重复的对象
编辑:如果有重复项,则返回对一个或多个重复项的引用。
覆盖MyClass.equals(MyClass)
在这种情况下不是一个选项。
我最初的想法是创建各种各样的哈希表,但我怀疑有来完成同样的事情非黑客方式:
SortedSet mySet = new TreeSet(myComparitor);
mySet.addAll(myList);
// Find duplicates in a sorted set in O(N) time
附: Markdown有没有很好的参考?
[Java:检测ArrayList中的重复项?]可能的重复项(http://stackoverflow.com/questions/562894/java-detect-duplicates-in-arraylist) – krock 2010-08-25 23:54:43
你需要知道哪些项目是重复的或做你只需要知道是否有重复? – mnuzzo 2010-08-25 23:55:45
“平等的对象”是什么意思?如果从Object继承的equals()方法不够重写是你唯一的选择。 – 2010-08-25 23:56:09