Map이란 키와 값을 쌍으로 저장하는 자료구조이다.
- 특징
키는 중복될수 없다. (키가 중복될 경우 덮어쓰여짐)
ex) map.put("자바","좋아") -> map.put("자바","싫어") 로 똑같은 키값으로 자료를 저장했을 시 map.get("자바) : "싫어"가 최종값
기본적으로 순서를 유지하지 않는다.
1. HashMap
가장 기본적인 Map의 구현체
해시테이블을 사용하여 성능이 좋다 ( 대부분의 get 및 put 연산이 상수 시간(평균 O(1))에 수행 )
2. TreeMap
키를 정렬된 순서로 저장함(기본값 오름차순)
레드-블랙 트리를 사용하여 대부분의 get, put 연산이 로그 시간(O(log n))에 수행됨
3. LinkedHashMap
HashMap을 상속하며, 키의 순서를 유지하는 기능이 추가되었다
입력된 순서대로 또는 접근된 순서대로 순서를 유지할 수 있습니다.
4. ConcurrentHashMap
스레드 안전한 Map 구현체입니다.
동기화 없이 여러 스레드에서 동시에 접근할 수 있습니다.
기본적으로 알고리즘을 풀면서 봤거나 스프링을 공부하며 들은 Map 구현체들이다.