繁体   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