4
이 작업을 수행 할 수있는 방법이 있는지 또는 대체 데이터 구조가 있는지 궁금합니다. 그것은 중복되지 않고 정렬되어야하고 반복자가 있어야합니다.반복자를 사용하여 트리 집합의 다음 요소를 엿보기
이 작업을 수행 할 수있는 방법이 있는지 또는 대체 데이터 구조가 있는지 궁금합니다. 그것은 중복되지 않고 정렬되어야하고 반복자가 있어야합니다.반복자를 사용하여 트리 집합의 다음 요소를 엿보기
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 스펙이 유용 할 것입니다 :) – coobird
고마워, 나는 더 많이 잊어 버렸습니다. 나는 그것을 할 수있는 유일한 방법 인 것처럼 보이는 현재의 요소를 메모리에 유지해야한다고 생각한다. –