면접 - 자바

개발자 면접 질문 - HashMap, TreeMap, LinkedHashMap, CuncurrentHashMap 차이

snow-line 2020. 12. 3. 19:47
반응형

1. HashMap

 - Hash 알고리즘에 의해 Get이 매우 빠르다.

 - 시간 복잡도 O(1)

 

2. TreeMap

 - Tree 알고리즘에 의해 Key, Value를 저장한다.

 - 키를 기준으로 오름차순으로 정렬되어 있다.

 - 시간 복잡도 O(logN)

 

3. LinkedHashMap

 - 링크드 리스트로 저장됨

 - 입력된 순서대로 Key가 보장된다.

 - 시간 복잡도 O(n)

 

4. CuncurrentHashMap

 - 멀티쓰레드 환경이 지원되는 HashMap

 

 * 종합

 - 특별한 이유가 없다면 검색 성능이 좋은 HashMap 사용

 - 많은 데이터를 넣을 때는 TreeMap 성능이 좋지 않다.

 - 입력 순서가 의미있다면 LinkedHashMap이 좋지만, 많은 데이터가 입력 될 경우에는 성능이 좋지 않다.

 - 멀티쓰레드 환경에서는 CuncurrentHashMap을 사용한다.

반응형