使用迭代器查看树集中的下一个元素

sol*_*oth 4 java data-structures

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

coo*_*ird 12

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));
}
Run Code Online (Sandbox Code Playgroud)

输出是:

current: 1  next: 3
current: 3  next: 4
current: 4  next: null
Run Code Online (Sandbox Code Playgroud)