자바 TreeMap 클래스
목차
이번 포스팅은 자바 TreeMap 클래스 입니다. TreeMap은 이진트리(Binary Tree)와 Map (지도 key-value 관계)를 합친 것으로 입력과 동시에 오름차순 정렬을 합니다.
아래 코드에서 TreeMap<Integer, String>에서 Key인 Integer Wrapper를 기준으로 정렬하는 것을 볼 수 있습니다. 입력하는 순서를 바꿔도 요소를 꺼내올 때는 1부터 9까지 정렬이 됩니다.
package com.kay; import java.util.*; public class Main { public static void main(String[] args) { TreeMap<Integer, String> tMap = new TreeMap<Integer, String>(); tMap.put(5, "Oh test!"); tMap.put(2, "Tree Map Avaiable"); tMap.put(1, "Tree Map is easy"); tMap.put(3, "Key and Value"); tMap.put(9, "Binary Tree"); tMap.put(4, "Map is not Set"); tMap.put(6, "Integer has comparable"); tMap.put(8, "treemap use put"); tMap.put(7, "this is the last one"); for(Map.Entry m1 : tMap.entrySet()){ System.out.print(m1.getKey() + ": "); System.out.println(m1.getValue()); } } }
1: Tree Map is easy 2: Tree Map Avaiable 3: Key and Value 4: Map is not Set 5: Oh test! 6: Integer has comparable 7: this is the last one 8: treemap use put 9: Binary Tree
for 문으로 TreeMap의 요소를 가져올 때 Map.Entry 객체로 가져오면 메소드를 사용해서 key와 value를 각각 가져올 수 있습니다. 항상 Map은 두개의 대응관계인 key – value 가 성립하므로 별도로 가져올 수 있습니다.
요약
컬렉션 프레임워크의 하나인 자바 TreeMap 클래스를 알아봤습니다. 알고리즘을 처음부터 작성하는 일은 어렵지만 완성된 자료구조를 사용하는 방법은 어렵지 않습니다.
참고문서
TreeMap in Java with Example (beginnersbook.com)
TreeMap in Java – GeeksforGeeks
A Guide to TreeMap in Java | Baeldung
Java TreeMap (With Examples) (programiz.com)