English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 튜토리얼에서는 Java NavigableMap 인터페이스 및 그 메서드를 예제를 통해 배웁니다.
Java 컬렉션 프레임워크의 NavigableMap 인터페이스는 맵 항목 간으로 탐색할 수 있는 기능을 제공합니다.
그는 다음과 같이 간주됩니다SortedMap중 하나의 유형입니다.
NavigableMap는 인터페이스이므로, 그에서 객체를 생성할 수 없습니다.
NavigableMap 인터페이스의 기능을 사용하려면 NavigableMap를 구현한 TreeMap 클래스를 사용해야 합니다.
Java에서는 NavigableMap를 사용하려면 java.util.NavigableMap 패키지를 가져와야 합니다. 패키지를 가져온 후, 다음과 같은 방법으로 NavigableMap를 생성합니다.
// NavigableMap는 TreeMap 클래스로 구현됩니다. NavigableMap<Key, Value> numbers = new TreeMap<>();
위의 코드에서는 TreeMap 클래스의名为 numbers의 가능한 맵을 생성했습니다.
여기서
Key - 맵의 각 요소(값)에 대한 독특한 식별자
Value - 키와 관련된 맵에 연결된 요소
NavigableMap는 SortedMap의 한 유형으로 간주됩니다. 이는 NavigableMap가 SortedMap 인터페이스를 상속했기 때문입니다.
따라서, NavigableMap에서도 모든 SortedMap 메서드를 사용할 수 있습니다. SortedMap에서 이 메서드를 어떻게 정의하는지 알고 싶다면, 다음을 방문하세요Java SortedMap。
하지만, NavigableMap에서 SortedMap의 일부 메서드(headMap(), tailMap(), subMap())은 다른 정의를 합니다.
NavigableMap에서 이 메서드를 어떻게 정의하는지 보겠습니다.
headMap() 메서드는 지정된 키( 매개변수로 전달) 이전과 관련된 모든 키의 가능한 맵의 모든 항목을 반환합니다.
booleanValue는 선택 사항입니다. 기본 값은 false입니다.
booleanValue가 true이면, 이 메서드는 지정된 키(key) 이전과 관련된 모든 키와 관련된 모든 항목을 반환합니다. 지정된 키(key)와 관련된 항목을 포함합니다.
tailMap() 메서드는 지정된 키(key)( 매개변수로 전달) 이후와 관련된 모든 키의 가능한 맵의 모든 항목을 반환합니다. 지정된 키(key)와 관련된 항목을 포함합니다.
booleanValue는 선택 사항입니다. 기본 값은 true입니다.
booleanValue가 false이면, 이 메서드는 지정된 키(key) 이후와 관련된 모든 항목을 반환합니다. 지정된 키(key)와 관련된 항목을 제외하고.
subMap() 메서드는 k와 관련된 항목을 반환합니다.1和k2와 관련된 모든 항목이 포함되며, k와 관련된 항목을 포함합니다.1와 관련된 항목입니다.
bv1과 bv2은 선택 사항입니다. bv1의 기본 값은 true입니다, bv2의 기본 값은 false입니다.
만약 bv1false이면, 이 메서드는 k와 관련된 항목을 반환합니다.1和k2키와 관련된 모든 항목이 포함되지 않고, k와 관련된 항목을 제외하고1관련 항목.
만약 bv2이 true라면, 이 메서드는 k1和k2사이의 키로 연결된 모든 항목,包括与k1관련 항목.
NavigableMap은 맵의 항목을 위치시키기 위한 여러 가지 메서드를 제공합니다.
DescendingMap() - 맵의 항목 순서를 반전
DescendingKeyMap() - 맵의 키 순서를 반전
ceilingEntry() - 지정된 키보다 크거나 같은 키를 가진 모든 항목 중 키가 가장 작은 항목 반환
ceilingKey() - 지정된 키보다 크거나 같은 키를 가진 키 중 최소 키 반환
floorEntry() - 지정된 키보다 작거나 같은 키를 가진 모든 항목 중 최대 키를 가진 항목 반환
floorKey() - 지정된 키보다 작거나 같은 키를 가진 키 중 최대 키 반환
HigherEntry() - 지정된 키보다 큰 키를 가진 모든 항목 중 키가 가장 작은 항목 반환
HigherKey() - 지정된 키보다 큰 키를 가진 키 중 최소 키 반환
lowerEntry() - 지정된 키보다 작은 키를 가진 모든 항목 중 최대 키를 가진 항목 반환
lowerKey() - 지정된 키보다 작은 키를 가진 키 중 최대 키 반환
firstEntry() - 맵의 첫 번째 항목(최소 키를 가진 항목) 반환
lastEntry() - 맵의 마지막 항목(최대 키를 가진 항목) 반환
pollFirstEntry() - 맵의 첫 번째 항목을 반환하고 삭제
pollLastEntry() - 맵의 마지막 항목을 반환하고 삭제
import java.util.NavigableMap; import java.util.TreeMap; class Main { public static void main(String[] args) { //TreeMap을 사용하여 NavigableMap 생성 NavigableMap<String, Integer> numbers = new TreeMap<>(); //맵에 요소 추가 numbers.put("Two", 2); numbers.put("One", 1); numbers.put("Three", 3); System.out.println("NavigableMap: " ); + numbers); //맵의 첫 번째 항목에 접근 System.out.println("첫 번째 항목: " ); + numbers.firstEntry()); //지도의 마지막 항목에 접근합니다 System.out.println("마지막 항목: ", + numbers.lastEntry()); //지도에서 첫 번째 항목을 제거합니다 System.out.println("첫 번째 항목을 제거합니다: ", + numbers.pollFirstEntry()); //지도에서 마지막 항목을 제거합니다 System.out.println("마지막 항목을 제거합니다: ", + numbers.pollLastEntry()); } }
출력 결과
NavigableMap: {One=1, Three=3, Two=2} 첫 번째 항목: One=1 마지막 항목: Two=2 첫 번째 항목을 제거합니다: One=1 마지막 항목을 제거합니다: Two=2
TreeMap에 대해 더 알고 싶다면 방문하세요Java TreeMap。
지금 우리는 NavigableMap 인터페이스를 알게 되었고, 다음 강의에서 TreeMap 클래스를 사용하여 그 구현을 자세히 알아보겠습니다.