본문 바로가기
Java

Java TreeMap 생성 및 초기화하는 방법 6가지

by Status Code 2023. 4. 23.

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을 생성하고 초기화하는 방법을 보여줍니다. 상황에 따라 적절한 방법을 선택하여 사용할 수 있습니다. 

 

댓글