【问题标题】:How do I return a TreeSet of the values contained in a TreeMap?如何返回 TreeMap 中包含的值的 TreeSet?
【发布时间】:2017-09-13 06:46:44
【问题描述】:

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

下面的代码尝试:

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

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

谢谢!!

【问题讨论】:

    标签: java data-structures tree treemap treeset


    【解决方案1】:

    values() 返回一个Collection,因此您始终可以将该Collection 提供给TreeSet 构造函数(假设您的E 类实现Comparable&lt;E&gt;):

    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());
    

    【讨论】:

      猜你喜欢
      • 2011-03-03
      • 1970-01-01
      • 2014-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多