【问题标题】:Peek at next element in a Tree set using an iterator使用迭代器查看 Tree 集中的下一个元素
【发布时间】:2009-05-29 16:32:47
【问题描述】:

我想知道是否有办法实现这一点,或者是否有其他数据结构。它必须被排序,没有重复,并且有一个迭代器。

【问题讨论】:

    标签: java data-structures


    【解决方案1】:

    TreeSet 有一个iterator,已排序,不会有重复,并且能够通过使用higher 看到下一个更高的元素。

    例如:

    TreeSet<Integer> ts = new TreeSet<Integer>();
    ts.add(1);
    ts.add(4);
    ts.add(4);
    ts.add(3);
    
    for (Integer i : ts) {
      System.out.println("current: " + i + " next:  " + ts.higher(i));
    }
    

    输出是:

    current: 1  next: 3
    current: 3  next: 4
    current: 4  next: null
    

    【讨论】:

    • 更高()!很好的发现(或记忆)!我正在寻找类似 ListIterator for Sets 之类的东西。
    • 这是一个发现——我以前没有使用过 TreeSet——那些 API 规范派上用场了 :)
    • 谢谢,我忘了更高。我想我必须将当前元素保留在内存中,因为这似乎是唯一的方法。
    • 顺便说一句,这仅在 Java 1.6 及更高版本中可用
    • @newacct:很高兴知道,谢谢你的信息:)
    猜你喜欢
    • 1970-01-01
    • 2018-04-13
    • 1970-01-01
    • 1970-01-01
    • 2011-04-10
    • 2018-03-02
    • 2011-02-11
    • 2012-12-24
    相关资源
    最近更新 更多