song.log

[자바 기술면접] 28. Map 컬렉션 - HashMap, TreeMap, LinkedHashMap, ConcurrentHashMap 본문

StudyLog/Java interview

[자바 기술면접] 28. Map 컬렉션 - HashMap, TreeMap, LinkedHashMap, ConcurrentHashMap

SingaKorean 2023. 4. 30. 16:09
반응형

- 정의

Map 컬렉션(Map Collection) : 맵 컬렉션은 Map인터페이스를 상속하여 구현한 구현체로,  key-value쌍으로 이루어진 데이터를 저장하는 자료구조입니다. key값은 value를 찾기 위한 값으로 중복을 허용하지 않습니다. value는 중복이 가능합니다.

 

HashMap: 가장 일반적으로 사용되는 맵 클래스 중 하나입니다. 해시 알고리즘을 사용하여 데이터를 저장하며, 키와 값의 쌍으로 저장됩니다. 내부적으로 배열을 사용하므로 키를 기반으로 빠른 검색, 삽입, 삭제 등의 연산이 가능합니다. 순서를 보장하지 않습니다.

 

TreeMap: 이진 검색 트리를 사용하여 데이터를 저장하는 클래스입니다. TreeMap은 키를 기반으로 정렬된 순서대로 데이터를 저장하기 때문에, 키 값에 따라서 정렬된 결과를 가져올 수 있습니다. 이진 검색 트리의 특성상 삽입, 삭제, 검색에 일정 시간이 걸리지만, 키를 기반으로 빠른 검색이 가능합니다.

 

LinkedHashMap: 해시 알고리즘과 연결 리스트를 사용하여 데이터를 저장하는 클래스입니다. HashMap과 유사하지만, 데이터가 입력된 순서대로 접근할 수 있는 반면에 순서를 보장합니다.

 

ConcurrentHashMap: 멀티스레드 환경에서 안전하게 사용할 수 있는 맵 클래스입니다. HashMap과 유사하지만, 멀티스레드 환경에서 안전하게 동작하기 위해 동기화가 적용되어 있습니다. 검색, 삽입, 삭제 등의 연산에서 높은 성능을 보입니다.

 

- 영어 정리 : 

Map Collection: Map collection is a data structure that implements the Map interface, which stores data as key-value pairs. The key is a value used to search for the corresponding value and duplicates are not allowed. The value can be duplicated.

 

HashMap: It is the most commonly used implementation of the Map interface. It uses a hash table data structure to store data in key-value pairs. The key is used to retrieve the corresponding value from the table. HashMap does not maintain any order between the elements and allows null as a key or value.

 

TreeMap: It is another implementation of the Map interface, which stores the data in a sorted order based on the keys. TreeMap uses a Red-Black tree data structure to store the key-value pairs. It has a higher time complexity compared to HashMap, but it provides better performance in situations where data needs to be stored in a sorted order.

 

LinkedHashMap: It is similar to HashMap but maintains the insertion order of the key-value pairs. In addition to the hash table, it also maintains a linked list to preserve the order of insertion.

 

ConcurrentHashMap: It is similar to HashMap, but it is designed to support multiple threads concurrently accessing the map without any external synchronization. It uses locks on individual segments of the table, which allows multiple threads to access the map simultaneously.

반응형
Comments