Java SortedMap 인터페이스: 개요, 메서드, TreeMap 구현
Java SortedMap 인터페이스
이 튜토리얼에서는 Java SortedMap 인터페이스, 핵심 메서드, TreeMap 클래스와의 사용법을 탐구합니다.
Java SortedMap 인터페이스는 컬렉션 프레임워크의 일부로 맵 키가 정렬된 순서로 저장됨을 보장합니다. 기본 Map 인터페이스를 확장합니다.
SortedMap을 구현하는 클래스
SortedMap은 인터페이스이므로 직접 인스턴스화할 수 없습니다. JDK가 제공하는 구체 구현체는 TreeMap 클래스로, 기본적으로 키 오름차순으로 엔트리를 유지합니다.
SortedMap 사용법
SortedMap을 사용하려면 먼저 인터페이스를 임포트하세요:
import java.util.SortedMap;
import java.util.TreeMap;
TreeMap으로 인스턴스 생성:
SortedMap<Key, Value> numbers = new TreeMap<>();
이 예제에서 numbers는 키를 자연 오름차순으로 저장합니다. 다른 정렬이 필요하면 커스텀 Comparator를 제공할 수 있습니다.
정의:
- Key – 값에 매핑되는 고유 식별자
- Value – 키와 연관된 데이터
인수 없는 생성자는 키 타입의 자연 순서로 맵을 정렬합니다.
SortedMap 핵심 메서드
Map에서 상속받은 모든 메서드 외에 SortedMap은 다음 연산을 추가합니다:
- comparator() – 키 정렬에 사용된
Comparator 반환, 자연 순서면 null
- firstKey() – 맵에서 가장 작은 키 검색
- lastKey() – 가장 큰 키 검색
- headMap(K toKey) –
toKey보다 엄격하게 작은 키를 가진 맵 뷰 반환
- tailMap(K fromKey) –
fromKey보다 크거나 같은 키를 가진 맵 뷰 반환
- subMap(K fromKey, K toKey) –
fromKey(포함)부터 toKey(제외)까지 범위의 키를 가진 맵 뷰 반환
자세한 내용은 Java SortedMap 문서를 참조하세요.
TreeMap: SortedMap의 구체 구현체
import java.util.SortedMap;
import java.util.TreeMap;
public class Main {
public static void main(String[] args) {
// TreeMap을 사용한 SortedMap 생성
SortedMap<String, Integer> numbers = new TreeMap<>();
// 맵에 요소 삽입
numbers.put("Two", 2);
numbers.put("One", 1);
System.out.println("SortedMap: " + numbers);
// 첫 번째와 마지막 키 검색
System.out.println("First Key: " + numbers.firstKey());
System.out.println("Last Key: " + numbers.lastKey());
// 키로 엔트리 제거
int removed = numbers.remove("One");
System.out.println("Removed Value: " + removed);
}
}
출력
SortedMap: {One=1, Two=2} First Key: One Last Key: Two Removed Value: 1
이 예제는 TreeMap과 함께 사용될 때 SortedMap의 동작을 보여줍니다. TreeMap에 대한 더 많은 내용은 Java TreeMap 문서를 참조하세요.