Programming/Java

[Java] Map Interface: TreeMap Class

Isaac S. Lee 2023. 8. 9. 14:59

💡TreeMap Class


HashMap은 정렬이 안 되는 반면, TreeMap은 정렬이 된다는 차이가 있다.

Tree 구조는 이진 탐색 트리로 자동 정렬이 되며, Map은 키 + 값의 연관 배열로 배열을 사용하는 것을 의미한다.

 

TreeMap 클래스의 활용

TreeMap 선언하기

TreeMap<String,String> map = new TreeMap<String,String>();

 

요소 추가하기

map.put("white", "흰색");
map.put("black", "검정");
map.put("red", "빨강");
map.put("yellow", "노랑");
map.put("blue", "파랑");
map.put("green", "초록");
map.put("orange", "주황");

 

요소 확인하기

System.out.println(map.size()); // 7
System.out.println(map); // {black=검정, blue=파랑, green=초록, orange=주황, red=빨강, white=흰색, yellow=노랑}

key는 A~Z 순으로 정렬이 된다.

 

요소 읽기

System.out.println(map.get("green")); // 초록

 

요소 수정하기

map.put("green", "녹색");
System.out.println(map.get("green")); // 녹색

 

TreeMap 고유 기능

System.out.println(map.firstKey()); // black
System.out.println(map.lastKey()); // yellow
System.out.println(map.headMap("m")); // {black=검정, blue=파랑, green=녹색}
System.out.println(map.tailMap("m")); // {orange=주황, red=빨강, white=흰색, yellow=노랑}
System.out.println(map.subMap("r", "y")); // {red=빨강, white=흰색}