如何查看鏈表以查找列表中的第一個重複對象,是否可以使用與數組嵌套的for循環完成操作?如何查找鏈表中的重複項 - java
0
A
回答
0
創建一個新的HashMap。迭代你的列表,並將它添加到一個HashMap中,將它們映射到Boolean.TRUE。在將對象添加到HashMap之前,檢查它是否已經在HashMap中。如果它已經存在 - 這是第一個重複。
0
你也可以元素添加到HashSet的,直到你遇到第一個重複:
Set<YourObject> set = new HashSet<YourObject>();
for (YourObject obj : yourList) {
if (!set.add(obj)) { // check if already existed in the set
return obj; // found the duplicate
}
}
應該比嵌套循環效率更高;)
0
您可以檢查的第一個和最後一個索引你的對象在列表中。如果兩者的相減低於0,那意味着你有一個副本。
LinkedList<String> s = new LinkedList<>();
/*
* Fill it here
*/
for(String str : s){
if(linkedList.indexOf(str) - linkedList.lastIndexOf(str) < 0){
System.out.println("First duplicate is: " + str);
break;
}
}
+0
我想我使用你的方法發現了一個問題。我正在有效地查看一張牌,所以即使這些牌具有相同的值,它們也不是相同的對象。所以我想我應該指定我需要在鏈表中找到具有重複值的卡片,而不是重複的對象,但是謝謝您幫助我清楚地識別問題 – user3074140
+0
@ user3074140如果您重新定義了equals方法,那應該可行。但是,請注意,實施並不是非常有效。 – user2336315
相關問題
- 1. SQL Server - 查找表中的重複項
- 2. 在已排序的鏈接列表中查找重複項
- 3. 如何在arrayList中查找重複項?
- 4. 如何查找表中的重複行?
- 5. 如何從2個鏈接表中找到重複項?
- 6. 查找重複項
- 7. 如何在元組列表中查找重複項?
- 8. 如何使用PHP在mysql表中查找重複項?
- 9. 如何在AREL中加入表格以查找重複項?
- 10. 查找重複表
- 11. 查詢查找表中的重複行
- 12. 如何輕鬆刪除java中鏈接列表中的重複項?
- 13. 查找列表中的重複項和合並項
- 14. 查找MYSQL中的重複項
- 15. 查找Xml列中的重複項
- 16. SQL - 查找兩列中的重複項
- 17. 查找DB2中多行的重複項
- 18. 查找列中的重複項(DB2,SQL)
- 19. 查找ArrayList中的重複項
- 20. 查找/刪除BigData中的重複項
- 21. 查找重複生日(Java)
- 22. 如何查找重複記錄在表
- 23. 查找重複項C#
- 24. Excel - 查找重複項
- 25. SQL,xQuery:查找重複項
- 26. 在數組中查找重複項
- 27. 查找並替換java中的重複項
- 28. 錯誤查找和刪除java中的重複項
- 29. Java ArrayList,在字符串的一部分中查找重複項
- 30. 如何在列表中查找重複的聯繫人查看
是的,當然你可以 – m0skit0
更快排序。 – iamnotmaynard