鑑於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