TreeSet<E> — 레드-블랙 트리 기반의 정렬된 집합
TreeSet — 레드-블랙 트리 기반의 정렬된 집합
Red-Black 트리 기반의 NavigableSet 구현이에요. 요소는 자연 순서 또는 집합 생성 시 제공된 Comparator에 따라 정렬돼요.
본문
public class TreeSet<E> extends AbstractSet<E> implements NavigableSet<E>, Cloneable, Serializable
이 구현은 기본 연산(add, remove, contains)에 대해 보장된 log(n) 시간 비용을 제공해요.
정렬 집합이 Set 인터페이스를 올바르게 구현하려면 유지되는 순서는 equals와 일치해야 해요.
이 구현은 동기화되지 않아요. 여러 스레드가 동시에 집합에 접근하고 그중 하나가 구조적으로 수정한다면 외부에서 동기화해야 해요. 일반적으로 Collections.synchronizedSortedSet으로 감싸는 것이 생성 시점에 가장 좋아요.
주요 생성자
TreeSet()— 자연 순서로 정렬된 새 빈 집합을 생성해요.TreeSet(Comparator<? super E> comparator)— 지정된 comparator로 정렬된 새 빈 집합을 생성해요.TreeSet(Collection<? extends E> c)— 컬렉션 c의 요소를 자연 순서로 정렬한 새 집합을 생성해요.TreeSet(SortedSet<E> s)— 기본 정렬 집합과 같은 요소와 순서를 가진 새 집합을 생성해요.
주요 메서드
add(E e)— 지정된 요소가 아직 없으면 추가해요.contains(Object o)— 지정된 요소가 있으면true를 반환해요.remove(Object o)— 지정된 요소가 있으면 제거해요.first()/last()— 현재 첫(가장 낮은)·마지막(가장 높은) 요소를 반환해요.pollFirst()/pollLast()— 첫·마지막 요소를 검색하고 제거해요.lower(E)/floor(E)/ceiling(E)/higher(E)— 요소를 기준으로 이웃 요소를 반환해요.subSet(...)/headSet(...)/tailSet(...)— 부분 뷰를 반환해요.
이 인터페이스는 Java Collections Framework의 한 구성원이에요.