从 ArrayList 中删除重复<JsonJavaObject>项或如何确定数组列表中是否已存在类似的项目?



我有一个JsonJavaObject的ArrayList集合(源自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.com.mons.util.io.json.JsonJavaObject与java.lang.Comparable 不兼容

树集uniqueHits=新树集(JSONObjects(;

谁能帮我?

TreeSet需要该类来实现Comparable,因为它希望根据定义的顺序对元素进行排序
由于这对于重复消除是不必要的,您可以简单地使用HashSet,即

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

最新更新