Java의 TreeMap은 레드-블랙 트리를 기반으로 하는 정렬된 Map 인터페이스의 구현체입니다. 이 글에서는 여러 가지 방법으로 TreeMap을 생성하고 초기화하는 예제들을 소개하겠습니다.
예제 1. 기본 생성 및 초기화
import java.util.Map;
import java.util.TreeMap;
public class TreeMapExample {
public static void main(String[] args) {
Map<String, Integer> treeMap = new TreeMap<>();
treeMap.put("one", 1);
treeMap.put("two", 2);
treeMap.put("three", 3);
System.out.println(treeMap);
}
}
예제 2. Comparator를 사용한 생성 및 초기화
import java.util.Comparator;
import java.util.Map;
import java.util.TreeMap;
public class TreeMapExample {
public static void main(String[] args) {
Map<String, Integer> treeMap = new TreeMap<>(Comparator.reverseOrder());
treeMap.put("one", 1);
treeMap.put("two", 2);
treeMap.put("three", 3);
System.out.println(treeMap);
}
}
예제 3. 익명 클래스를 사용한 초기화
import java.util.Map;
import java.util.TreeMap;
public class TreeMapExample {
public static void main(String[] args) {
Map<String, Integer> treeMap = new TreeMap<String, Integer>() {{
put("one", 1);
put("two", 2);
put("three", 3);
}};
System.out.println(treeMap);
}
}
예제 4. Java 8의 Stream API를 사용한 초기화
import java.util.Map;
import java.util.TreeMap;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class TreeMapExample {
public static void main(String[] args) {
Map<String, Integer> treeMap = Stream.of(new Object[][]{
{"one", 1},
{"two", 2},
{"three", 3},
}).collect(Collectors.toMap(data -> (String) data[0], data -> (Integer) data[1], (v1, v2) -> v2, TreeMap::new));
System.out.println(treeMap);
}
}
예제 5. Java 9의 Map.of()를 사용한 초기화
참고: Map.of()를 사용하여 생성된 맵은 고정 크기이며 변경할 수 없습니다. 이 경우에는 TreeMap 대신 고정 크기 정렬 맵이 생성됩니다.
import java.util.Map;
import java.util.TreeMap;
public class TreeMapExample {
public static void main(String[] args) {
Map<String, Integer> fixedSizeSortedMap = Map.of(
"one", 1,
"two", 2,
"three", 3
);
Map<String, Integer> treeMap = new TreeMap<>(fixedSizeSortedMap);
System.out.println(treeMap);
}
}
이 글에서 소개한 예제들은 다양한 방법으로 TreeMap을 생성하고 초기화하는 방법을 보여줍니다. 상황에 따라 적절한 방법을 선택하여 사용할 수 있습니다.
'Java' 카테고리의 다른 글
Java Hashtable 생성 및 초기화하는 방법 6가지 (0) | 2023.04.23 |
---|---|
Java ConcurrentHashMap 생성 및 초기화하는 방법 6가지 (0) | 2023.04.23 |
Java LinkedHashMap 생성 및 초기화하는 방법 6가지 (0) | 2023.04.23 |
Java HashMap 생성 및 초기화하는 방법 6가지 (0) | 2023.04.23 |
JAVA에서 가장많이 사용되는 MAP의 종류와 특징 (0) | 2023.04.23 |
댓글