簡體   English   中英

從 ArrayList 中刪除重復項<jsonjavaobject>或者如何找出 arraylist 中是否已經存在類似的項目?</jsonjavaobject>

[英]Remove duplicates from ArrayList<JsonJavaObject> or how to find out if a similar item already exists in arraylist?

我有一個 ArrayList 的 JsonJavaObject 集合(源自 com.ibm.commons.util.io.json.*)。 添加更多項目時,我想檢查 arraylist 中是否已經存在類似的 JSsonObject。我該怎么做?

或者我可以考慮用更多的 JsonJavaObject 填充 arraylist 並在返回結果之前合並重復項。

但是,當我嘗試這個時,例如通過

TreeSet<JsonJavaObject> uniqueHits = new TreeSet<JsonJavaObject>(JSONObjects);
ArrayList<JsonJavaObject> finalHits = new ArrayList<>(uniqueHits);

我得到一個例外:java.lang.ClassCastException:com.ibm.commons.util.io.json.JsonJavaObject 與 java.lang.Comparable 不兼容

TreeSet uniqueHits = new TreeSet(JSONObjects);

誰能幫我?

TreeSet需要 class 來實現Comparable ,因為它希望根據某個定義的順序對元素進行排序。
由於這對於重復消除是不必要的,您可以簡單地使用HashSet

Set<JsonJavaObject> uniqueHits = new HashSet<>(JSONObjects);
List<JsonJavaObject> finalHits = new ArrayList<>(uniqueHits);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM