Map은 키와 값으로 이루어진 자료구조이다.
Map의 특징은 다음과 같다.
Map을 구현한 클래스들 중 가장 많이 사용되는 클래스들은 HashMap, TreeMap, LinkedHashMap 등이 있다.
HashTable 이라는 클래스가 있지만, Map 인터페이스를 구현한 다른 클래스들과는 다르다. 주된 차이점은 다음과 같다.
이렇게 차이가 나는 것은 Collection 인터페이스는 JDK 1.2 부터 추가되었고, LinkedHashMap은 JDK 1.4 추가되었다. 그런데 Hashtable은 JDK 1.0 부터 만들어져 사용된 클래스 이기 떄문에 Map 인터 페이스의 기능을 구현한 것은 JDK 1.2 부터이다.
HashMap 객체의 키를 정렬하려면 여러 방법이 있지만 HashTree 사용하면 나름 간단하게 해결이 가능하다.
TreeMap은 저장하면서 키를 정렬한다. 정렬되는 기본적인 순서는 숫자 > 알파벳 대문자 > 알파벳 소문자 > 한글 순이다. 이 순서는 String과 문자열이 저장되는 순서이며, 객체가 저장되거나 , 숫자가 저장될 때에는 그 순서가 달라진다.