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 |