
NavigableMap은 SortedMap을 상속한 인터페이스로 탐색 관련 메서드를 추가하여 양방향 탐색 및 세밀한 범위 검색을 가능하게 한다.한다. 이 인터페이스는 더 많은 네비게이션 기능을 포함하여 키의 순서를 기반으로 한 다양한 연산을 가능하게 합니다.
반환타입이 boolean인 메서드들은 작업에 성공하거나 사실이면 true, 아니면 false를 반환한다.
| 메서드 | 기능 |
|---|---|
| Object put(Object key, Object value) | NavigableMap에 value 객체를 key 객체에 연결하여 저장 |
| void putAll(Map t) | 지정된 NavigableMap의 모든 key-value 쌍을 추가 |
| 메서드 | 기능 |
|---|---|
| boolean containKey(Object key) | 지정된 key 객체와 일치하는 NavigableMap의 key 객체가 있는지 확인 |
| boolean containValue(Object value) | 지정된 value 객체와 일치하는 NavigableMap의 value 객체가 있는지 확인 |
| Set entrySet() | NavigableMap에 저장되어 있는 모든 key-value 쌍을 NavigableMap.Entry 타입의 객체로 저장한 Set을 반환 |
| Set keySet() | NavigableMap에 저장된 모든 key 객체를 반환 |
| Object get(Object key) | 지정한 key 객체에 대응하는 value 객체를 찾아서 반환 |
| Collection values() | NavigableMap에 저장된 모든 value 객체를 반환 |
| 메서드 | 기능 |
|---|---|
| Object remove(Object key) | 지정한 key 객체와 일치하는 key-value 객체를 삭제 |
| void clear() | NavigableMap의 모든 객체를 삭제 |
| 메서드 | 기능 |
|---|---|
| Object firstKey() | 맵에서 첫 번째(가장 작은) 키를 반환 |
| Object lastKey() | 맵에서 마지막(가장 큰) 키를 반환 |
| SortedMap headMap(Object toKey) | 첫번째 키부터 지정된 범위에 속한 모든 요소가 담긴 SortedMap을 반환 toKey는 포함하지 않음 |
| SortedMap tailMap(Object fromKey) | 지정된 키부터 마지막 요소의 범위에 속한 요소가 담긴 SortedMap을 반환 |
| SortedMap subMap(Object fromKey, Object toKey) | 지정된 두 개의 키 사이에 있는 모든 요소들이 담긴 SortedMap을 반환 toKey는 포함하지 않음 |
| 메서드 | 기능 |
|---|---|
| Map.Entry lowerEntry(Object key) | 지정된 키(key)보다 작은 키를 가진 가장 높은 항목을 반환 그런 항목이 없으면 null을 반환 |
| Map.Entry higherEntry(Obejct key) | 지정된 키(key)보다 큰 키를 가진 가장 낮은 항목을 반환 그런 항목이 없으면 null을 반환 |
| Object lowerKey(Object key) | 지정된 키(key)보다 작은 키를 반환 그런 키가 없으면 null을 반환 |
| Object higherKey(Object key) | 지정된 키(key)보다 큰 키를 반환 그런 키가 없으면 null을 반환 |
| Map.Entry floorEntry(Object key) | 지정된 키(key)와 같거나 작은 키를 가진 가장 높은 항목을 반환 그런 항목이 없으면 null을 반환 |
| Map.Entry ceilingEntry(Object key) | 지정된 키(key)와 같거나 큰 키를 가진 가장 낮은 항목을 반환 그런 항목이 없으면 null을 반환 |
| Object floorKey(Object key) | 지정된 키와 같거나 작은 키를 반환 그런 키가 없으면 null을 반환 |
| Object ceilingKey(Object key) | 지정된 키와 같거나 큰 키를 반환 그런 키가 없으면 null을 반환 |
| Map.Entry firstEntry() | 첫 번째(가장 낮은) 항목을 반환 맵이 비어있으면 null을 반환 |
| Map.Entry lastEntry() | 마지막(가장 높은) 항목을 반환 맵이 비어있으면 null을 반환 |
| 메서드 | 기능 |
|---|---|
| NavigableMap subMap(Object fromKey, boolean fromInclusive, Object toKey, boolean toInclusive) | 지정된 두 개의 키 사이에 있는 모든 요소들이 담긴 NavagableMap을 반환. fromInclusive와 toInclusive를 사용하여 경계 요소의 포함 여부를 지정 가능. |
| NavigableMap headMap(Object toKey, boolean inclusive) | NavigableMap에 저장된 첫번째 요소부터 지정된 범위에 속한 모든 요소가 담긴 NavigableMap을 반환. Inclusive를 사용하여 경계 요소의 포함 여부를 지정 가능. |
| NavigableMap tailMap(Object fromKey, boolean inclusive) | 지정된 키부터 마지막 요소의 범위에 속한 요소가 담긴 NavigableMap을 반환. Inclusive를 사용하여 경계 요소의 포함 여부를 지정 가능. |
| 메서드 | 기능 |
|---|---|
| Map.Entry pollFirstEntry() | 첫 번째(가장 낮은) 항목을 제거하고 반환 맵이 비어있으면 null을 반환 |
| Map.Entry pollLastEntry() | 마지막(가장 높은) 항목을 제거하고 반환 맵이 비어있으면 null을 반환 |
| 메서드 | 기능 |
|---|---|
| boolean equals(Obejct o) | 동일한 Entry인지 비교 |
| Object getKey() | Entry의 key 객체를 반환 |
| Object getValue() | Entry value 객체를 반환 |
| int hashCode() | Entry의 해시코드를 반환 |
| Object setValue(Object value) | Entry의 value 객체를 지정된 객체로 변경 |
| 메서드 | 기능 |
|---|---|
| boolean equals(Object o) | 동일한 NavigableMap인지 비교 |
| int hashCode() | 해시코드를 반환 |
| 메서드 | 기능 |
|---|---|
| boolean isEmpty() | NavigableMap이 비어있는지 확인 |
| int size() | NavigableMap에 저장된 key-value 쌍의 개수를 반환 |
| Comparator comparator() | 현재 NavigableMap이 사용하는 Comparator를 반환 기본 자연 순서를 사용하는 경우에는 null을 반환 |
| NavigableSet navigableKeySet() | NavigableMap의 모든 키가 담긴 NavigableSet을 반환 |
| NavigableSet descendingKeySet() | NavigableMap에 저장된 키를 역순으로 정렬해서 NavigableSet에 담아서 반환 |
| NavigableMap descendingMap() | NavigableMap에 저장된 Entry를 역순으로 정렬해서 NavigableMap에 담아서 반환 |
이러한 기능을 가진 NavigableMap을 TreeMap 클래스가 구현한다.
자바의 정석 3판 (저자 : 남궁성)
Java Collections Framework Video Tutorial
오라클 Java 문서