【发布时间】:2019-07-04 14:07:37
【问题描述】:
如何使用过滤器功能从存在于这样的树形图中的集合中删除元素
TreeSet<Integer> set = new TreeSet<>();
TreeMap<Integer, Integer> map = new TreeMap<>();
set.removeAll(map.entrySet().stream()
.filter(x -> x.getValue()>1).collect(Collectors.toList())) ;
当我运行它时它给了我
Exception in thread "main" java.lang.ClassCastException: java.util.TreeMap$Entry cannot be cast to java.lang.Comparable
at java.util.TreeMap.getEntry(Unknown Source)
at java.util.TreeMap.remove(Unknown Source)
at java.util.TreeSet.remove(Unknown Source)
at java.util.AbstractSet.removeAll(Unknown Source)
at Main.main
那么如何解决这个问题?以及如何使用它们?
【问题讨论】:
-
@Carcigenicate classCastException
-
请在您的问题中发布完整的错误信息
-
@Carcigenicate 这里是完整的错误
-
您试图从
Set<Integer>中删除Entry<Integer, Integer>项目,这没有任何意义,因此 JVM 正确地抱怨。
标签: java dictionary filter set