java - 如何返回 TreeMap 中包含的值的 TreeSet?

标签 java data-structures tree treemap treeset

我正在尝试获取 TreeMap 中大于某个值 key 的所有键值的集合。

下面的代码尝试:

TreeSet<E> set = (TreeSet<E>)tMap.tailMap(key, false).values();

有没有办法在 Java 中做到这一点?

谢谢!!

最佳答案

values()返回 Collection , 所以你总是可以喂那 CollectionTreeSet构造函数(假设您的 E 类实现了 Comparable<E> ):

TreeSet<E> set = new TreeSet<E>(tMap.tailMap(key, false).values());

如果您希望 TreeSet使用一些自定义 Comparator你可以这样写:

TreeSet<E> set = new TreeSet<E> (yourComparator);
set.addAll(tMap.tailMap(key, false).values());

关于java - 如何返回 TreeMap 中包含的值的 TreeSet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46190635/

相关文章:

java - Java 中的 getClass() 实际上返回什么?

python - 在python中使用del语句后无法删除对象

haskell - Haskell 中的欧拉项目#18

clojure - 我如何格式化一棵树以使其与 Clojure 的 zipper 一起使用?

java - 自定义扩展 `EventObject` 和 `EventListener` 有什么好处

java - 没有主要 list 属性(Heroku 部署)

java - ANTLR4 Lexer 错误报告(违规字符的长度)

c - 数组与结构体的逻辑

algorithm - 排序大于 RAM 大小的数据

java - Java中树形结构中的HashMap