41일차 - 2023.2.22

문우림·2023년 2월 23일
0

Java

목록 보기
21/23

1. Map< E >

  • 키(Key)와 값(value)으로 구성된 Entry객체를 저장하는 구조를 가지고 있는 자료구조이다.
  • 키는 중복으로 저장할 수 없고, 값은 중복으로 저장할 수 있다.
  • 중복된 Key값이 들어가면 기존에 있던 값은 없어지고, 새로 들러온 값으로 대치된다.
  • Map인터페이스는 키로 데이터를 관리.

주요 메소드

메소드설명
V put(K key, V value)주어진 키와 값을 추가하여 저장되면 값을 리턴한다.
boolean containsKey(Object key)주어진 키가 있는지 확인한다.
boolean containsValue(Object value)주어진 값이 있는지 확인한다.
Set< Map.Entry< K, V >> entrySet()모든 Map.Entry 객체를 Set에 담아 리턴한다.
Set< K > KeySet()모든 키를 Set객체에 담아서 리턴한다.
V get(Object key)주어진 키에 값이 있는 값을 리턴한다.
boolean isEmpty()컬렉션이 비어있는지 조사한다.
int size()저장되어 있는 전체 객체의 수를 리턴한다.
Collection< V > value()저장된 모든 값을 Collection에 담아서 리턴한다.
void clear()저장된 모든 Map.Entry를 삭제한다.
V remove(Object key)주어진 키와 일치하는 Map.Entry를 삭제하고 값을 리턴한다.

Map.Entry도 인터페이스이다.

2. Map인터페이스를 구현하는 대표적인 클래스

HashMap / Hashtable / LinkedHashMap / TreeMap

2-1. HashMap클래스

  • HashMap은 Map인터페이스를 구현한 대표적인 Map컬렉션.
  • HashMap은 해싱(Hashing)을 사용하기 때문에 많은 양의 데이터를 검색하는 데 있어서 뛰어난 성능을 보인다.
  • 해쉬 함수를 통해 '키'와 '값'이 저장되는 위치를 결정하므로, 사용자는 그 위치를 알 수 없고, 삽입되는 순서와 들어 있는 위치 또한 관계가 없다.

2-2. TreeMap클래스

  • TreeMap은 이진트리를 기반으로 한 Map컬렉션이다.
  • TreeMap에 객체를 저장하면 자동으로 정렬되는데, 키는 저장과 동시에 오름차순으로 저장되고, 숫자 타입일 경우에는 값으로, 문자열 타입일 경우에는 유니코드로 정렬한다.

정렬 순서
부모 키값과 비교해서 키 값이 낮은 것은 왼쪽 자식 노드에 저장.
부모 키값과 비교해서 키 값이 높은 것은 오른쪽 자식 노드에 Map, Entry객체를 저장

Map참고

0개의 댓글