
NavigableSet은 SortedSet을 상속한 인터페이스로 탐색 관련 메서드를 추가하여 양방향 탐색 및 세밀한 범위 검색을 가능하게 한다.
반환타입이 boolean인 메서드들은 작업에 성공하거나 사실이면 true, 아니면 false를 반환한다.
| 메서드 | 기능 |
|---|---|
| boolean add(Object o) boolean addAll(Collection c) | 지정된 객체(o) 또는 Collection(c)의 객체들을 NavigableSet에 추가. |
| 메서드 | 기능 |
|---|---|
| boolean contains(Object o) boolean containsAll(Collection c) | 지정된 객체(o) 또는 Collection(c)의 객체들이 포함되어 있는지 확인. |
| 메서드 | 기능 |
|---|---|
| boolean remove(Object o) boolean removeAll(Collection c) | 지정된 객체(o) 또는 Collection(c)의 객체들을 삭제. |
| boolean retainAll(Collection c) | 지정된 Collection에 포함된 객체만을 남기고, 다른 객체들은 NavigableSet에서 삭제 집합의 교집합 개념과 유사함. |
| void clear() | NavigableSet의 모든 객체를 삭제 |
| 메서드 | 기능 |
|---|---|
| Object first() | 정렬된 순서에서 첫 번째 객체를 반환 |
| Object last() | 정렬된 순서에서 마지막 객체를 반환 |
| SortedSet headSet(Object toElement) | 지정된 객체보다 작은 값의 객체들을 반환 |
| SortedSet tailSet(Object fromElement) | 지정된 객체보다 큰 값의 객체들을 반환 |
| SortedSet subSet(Object fromElement, Object toElement) | 범위검색(fromElement와 toElement사이)의 결과를 반환 |
| 메서드 | 기능 |
|---|---|
| Object lower(Object e) | 지정된 객체보다 작은 값을 가진 객체중 제일 가까운 값의 객체를 반환 만약 그런 요소가 없으면 null을 반환 |
| Object higher(Object e) | 지정된 객체보다 큰 값을 가진 객체중 제일 가까운 값의 객체를 반환 만약 그런 요소가 없으면 null을 반환 |
| Object floor(Object e) | 지정된 요소보다 작거나 같은 값을 가진 객체중 제일 가까운 값의 객체를 반환 만약 그런 요소가 없으면 null을 반환 |
| Object ceiling(Object e) | 지정된 요소보다 크거나 같은 값을 가진 객체중 제일 가까운 값의 객체를 반환 만약 그런 요소가 없으면 null을 반환 |
| 메서드 | 기능 |
|---|---|
| NavigableSet subSet(Object fromElement, boolean fromInclusive, Object toElement, boolean toInclusive) | 지정된 범위의 요소를 포함하는 부분 집합을 반환 fromInclusive와 toInclusive를 사용하여 경계 요소의 포함 여부를 지정 가능 |
| NavigableSet headSet(Object toElement, boolean inclusive) | 지정된 요소보다 작은 요소를 포함하는 부분 집합을 반환 inclusive를 사용하여 경계 요소의 포함 여부를 지정 가능 |
| NavigableSet tailSet(Object fromElement, boolean inclusive) | 지정된 요소보다 큰 요소를 포함하는 부분 집합을 반환 inclusive를 사용하여 경계 요소의 포함 여부를 지정 가능 |
| 메서드 | 기능 |
|---|---|
| Object pollFirst() | 첫 번째 (가장 낮은) 요소를 제거하고 반환 만약 집합이 비어 있으면 null을 반환 |
| Object pollLast() | 마지막 (가장 높은) 요소를 제거하고 반환 만약 집합이 비어 있으면 null을 반환 |
| 메서드 | 기능 |
|---|---|
| boolean equals(Object o) | 동일한 NavigableSet인지 확인 |
| int hashCode() | NavigableSet의 해시 코드를 반환 |
| 메서드 | 기능 |
|---|---|
| Iterator iterator() | 해당 NavigableSet의 iterator를 얻어서 반환 |
| Iterator descendingIterator() | 요소들을 역순으로 반복하는 반복자를 반환 |
| 메서드 | 기능 |
|---|---|
| boolean isEmpty() | NavigableSet이 비어있는지 확인 |
| int size() | NavigableSet에 저장된 객체의 개수를 반환 |
| Comparator comparator() | NavigableSet에 사용되는 Comparator를 반환. 자연 순서에 따라 정렬된 경우 null을 반환 |
| NavigableSet descendingSet() | 요소들을 역순으로 정렬한 NavigableSet을 반환 |
| 메서드 | 기능 |
|---|---|
| Object[] toArray() | NavigableSet에 저장된 객체를 객체배열(Object[])로 반환 |
| Object[] toArray(Object[] a) | 지정된 배열에 NavigableSet의 객체를 저장해서 반환 |
이러한 기능을 가진 NavigableSet 인터페이스를 TreeSet 클래스가 구현한다.
자바의 정석 3판 (저자 : 남궁성)
Java Collections Framework Video Tutorial
오라클 Java 문서