Map
업데이트:
Map이란
Map 컬렉션은 Key와 Value로 구성된 Entry객체를 저장하는 구조이다.
Key는 중복일 수 없지만, Value는 중복이 가능하다.
만약 기존에 저장된 Key와 동일한 키로 값을 저장하면 기존의 값은 없어지고 새로운 값으로 대체된다.
Key와 Value 중 하나만 존재하지 않는다.
HashMap
HashMap은 Map인터페이스를 구현한 대표적인 Map컬렉션이다.
키와 값의 타입은 기본 타입을 가질 수 없고, 클래스 및 인터페이스 타입만 사용 가능하다.
중복을 허용하지 않으며, 순서가 없는 것이 특징이다
TreeMap
Red-Black Tree 자료구조를 이용한 Map이다.
Tree구조이기 때문에 어느 정도 순서를 보장한다.
키는 저장과 동시에 자동으로 오름차순 정렬되고 숫자 타입일 경우 값으로, 문자열 타입일 경우 유니코드로 정렬한다.
추가나 삭제가 HashMap보다 오래 걸린다.
하지만 정렬된 상태로 Map을 유지하거나, 조회해야되는 범위 검색이 필요한 경우 효율이 좋다.
- TreeMap
이진탐색트리의 (값이 한쪽으로 치우치는)문제점을 보완한 Tree로 부모 노드보다 작은 값을 가지는 노드는 왼쪽 자식으로, 큰 값을 가지는 노드는 오른쪽 자식으로 배치하여 데이터의 추가나 삭제 시 트리가 한쪽으로 치우쳐지지 않도록 균형을 맞추어 준다.
LinkedHashMap
LinkedList로 구현된 HashMap이다.
List로 구현되어있기 때문에 순서가 보장된다.
하지만 랜덤 접근 속도가 느리다.
공유하기
Twitter Google+ LinkedIn
댓글남기기