CS/Data Structure

[자료구조] Map, Set

창문닦이 2019. 2. 7. 23:51

Map

맵은 hash라고도 불린다. 배열이나 딕셔너리와 관련 있는 key-value 형태의 저장소이다.

키 값은 트리상에서 한 번만 나타난다(중복되지 않는다). 만약, 동일 키로 다시 데이터를 입력할 경우 원본 키에 있던 값은 덮어씌워진다.

 

Map의 종류

  • HashMap : Map 인터페이스를 구현하기 위해 HashTable을 사용한 클래스. 중복을 허용하지 않고 순서를 보장하지 않음. key와 value로 null이 허용
  • HashTable : HashMap보다 느리지만 동기화를 지원한다. key와 value로 null이 허용되지 않는다.
  • TreeMap : 이진 검색 트리의 형태로 key-value 쌍으로 이루어진 데이터를 저장한다. 정렬된 순서로 키, 값 쌍을 저장하므로 빠른 검색이 가능하다. 저장 시 정렬(오름차순)을 하기 때문에 저장시간이 오래 걸린다.
  • LinkedHashMap : 기본적으로 HashMap을 상속받아 HashMap과 유사하다. Map에 있는 엔트리들의 연결 리스트가 유지되므로 입력한 순서대로 반복이 가능하다.

Set

Set은 중복을 허용하지 않고, 순서 없이 객체를 저장한다. 집합 개념이다. 

 

Set의 종류

  • HashSet : 대표적인 set 인터페이스의 구현 클래스. 가장 빠른 임의 접근 속도. 순서를 전혀 예측할 수 없다.
  • LinkedHashSet : 추가된 순서, 또는 가장 최근에 접근한 순서대로 접근 가능하다.
  • TreeSet : 정렬된 순서대로 보관하며 정렬방법을 지정할 수 있다.

 

'CS > Data Structure' 카테고리의 다른 글

[자료구조] 알고리즘이란  (0) 2019.11.09
[자료구조] Heap  (0) 2019.02.12
[자료구조] Tree, Graph  (0) 2019.02.06
[자료구조] Stack, Queue, Deque  (0) 2019.02.05
[자료구조] Array List, Linked List  (0) 2019.02.05