Map이랑 HashMap이 무슨 차이인가도 생각해봤는데 Map은 interface고 HashMap은 Map을 구현하는 클래스였다. Map의 아래에 HashMap과 TreeMap, LinkedHaspMap 등이 있었던 것..
이전에 배운 List, Array과는 달리 Key와 Value 방식으로 저장하는 자료구조이다.
Map 구현 클래스
1. HashMap/Hasptable : Map을 구현하는 대표 클래스, Key와 Value를 한 쌍으로 저장하는 특징이 있다. 많은 양의 데이터를 검색하는데 좋다.
(Hashtable과 HashMap과의 차이점은 Thread-Safe인지 아닌지가 그 차이점인데 Hashtable은 동기화가 걸려있어서 Thread-Safe하다고 할 수 있으며 HashMap은 동기화가 없어 unsafe하다고 할 수 있다! Hashtable의 table은 소문자다! 주의!)
2. TreeMap : Key와 Value를 이진트리 기법으로 저장한다. 데이터를 추가하거나 삭제하는데 속도가 좋고 Key로 정렬을 이용해 탐색하는데 좋다!
3. LinkedHashMap : 데이터를 입력한 순서대로 저장해서 배열과 리스트처럼 인덱스로 접근하기 좋다.
Map 사용법
java.util.HashMap 클래스를 Import하면 Map을 사용할 수 있다! (HashMap말고 TreeMap, LinkedHashMap도 가능하다)
Map 자체로는 직접 생성해서 사용할 수 없고 클래스로 구현을 해줘야 사용이 가능하다.