BackEnd/JAVA 공부

자바의 컬렉션 프레임워크(Map)

인프라 감자 2023. 1. 10. 02:00

Map 컬렉션 클래스

Map 인터페이스는 Collection 인터페이스와는 다른 저장 방식을 가진다.
Map 인터페이스를 구현한 Map 컬렉션 클래스들은 키와 값을 하나의 쌍으로 저장하는 방식을 사용한다.

Map의 특징

  • 요소의 저장 순서를 유지하지 않는다.
  • 키는 중복을 허용하지 않지만, 값의 중복은 허용한다.

 

HashMap<K, V> 클래스

HashMap<Integer, Integer> hm = new HashMap<>();

중복된 키로는 저장할 수 없다.

메소드 설명
void clear() 해당 맵(map)의 모든 매핑(mapping)을 제거한다.
boolean containsKey(Object key) 해당 맵이 전달된 키를 포함하고 있는지를 확인한다.
boolean containsValue(Object value) 해당 맵이 전달된 값에 해당하는 하나 이상의 키를 포함하고 있는지를 확인한다.
V get(Object key) 해당 맵에서 전달된 키에 대응하는 값을 반환한다.
boolean isEmpty() 해당 맵이 비어있는지를 확인한다.
Set<K> keySet() 해당 맵에 포함되어 있는 모든 키로 만들어진 Set 객체를 반환한다.
V put(K key, V value) 해당 맵에 전달된 키에 대응하는 값으로 특정 값을 매핑한다.
boolean remove(Object key, Object value) 해당 맵에서 특정 값에 대응하는 특정 키의 매핑을 제거한다.
V replace(K key, V value) 해당 맵에서 전달된 키에 대응하는 값을 특정 값으로 대체한다.
boolean replace(K key, V oldValue, V newValue) 해당 맵에서 특정 값에 대응하는 전달된 키의 값을 새로운 값으로 대체한다.
int size() 해당 맵의 매핑의 총 개수를 반환한다.

 

TreeMap<K, V> 클래스

키와 값을 한 쌍으로 하는 데이터를 이진 검색 트리의 형태로 저장한다.

TreeMap<Integer, Integer> tm = new TreeMap<>();
메소드 설명
Map.Entry<K, V> ceilingEntry(K key) 해당 맵에서 전달된 키와 같거나, 전달된 키보다 큰 키 중에서 가장 작은 키와 그에 대응하는 값의 엔트리를 반환한다.
K ceilingKey(K key) 해당 맵에서 전달된 키와 같거나, 전달된 키보다 큰 키 중에서 가장 작은 키를 반환한다,
NavigableMap<K, V> descendingMap() 해당 맵에 포함된 모든 매핑을 역순으로 반환한다.
Set<Map.Entry<K, V>> entrySet() 해당 맵에 포함된 모든 매핑을 Set 객체로 반환한다.
Map.Entry<K, V> firstEntry() 해당 맵에서 현재 가장 작은(첫 번째) 키와 그에 대응하는 값의 엔트리를 반환한다.
K firstKey() 해당 맵에서 현재 가장 작은(첫 번째) 키를 반환한다.
Map.Entry<K, V> floorEntry(K key) 해당 맵에서 전달된 키와 같거나, 전달된 키보다 작은 키 중에서 가장 큰 키와 그에 대응하는 값의 엔트리를 반환한다.
K floorKey(K key) 해당 맵에서 전달된 키와 같거나, 전달된 키보다 작은 키 중에서 가장 큰 키를 반환한다.
SortedMap<K, V> headMap(K toKey) 해당 맵에서 전달된 키보다 작은 키로 구성된 부분만을 반환한다.
Map.Entry<K, V> higherEntry(K key) 해당 맵에서 전달된 키보다 작은 키 중에서 가장 큰 키와 그에 대응하는 값의 엔트리를 반환한다.
K higherKey(K key) 해당 맵에서 전달된 키보다 작은 키 중에서 가장 큰 키를 반환한다.
Set<K> keySet() 해당 맵에 포함되어 있는 모든 키로 만들어진 Set 객체를 반환한다.
Map.Entry<K, V> lastEntry() 해당 맵에서 현재 가장 큰(마지막) 키와 그에 대응하는 값의 엔트리를 반환한다.
K lastKey() 해당 맵에서 현재 가장 큰(마지막) 키를 반환한다.
Map.Entry<K, V> lowerEntry(K key) 해당 맵에서 전달된 키보다 큰 키 중에서 가장 작은 키와 그에 대응하는 값의 엔트리를 반환한다.
K lowerKey(K key) 해당 맵에서 전달된 키보다 큰 키 중에서 가장 작은 키를 반환한다.
Map.Entry<K, V> pollFirstEntry() 해당 맵에서 현재 가장 작은(첫 번째) 키와 그에 대응하는 값의 엔트리를 반환하고, 해당 엔트리를 맵에서 제거한다.
Map.Entry<K, V> pollLastEntry() 해당 맵에서 현재 가장 큰(마지막) 키와 그에 대응하는 값의 엔트리를 반환하고, 해당 엔트리를 맵에서 제거한다.
SortedMap<K, V> subMap(K fromKey, K toKey) 해당 맵에서 fromKey부터 toKey까지로 구성된 부분만을 반환함.
이때 fromKey는 포함되나, toKey는 포함되지 않는다.
SortedMap<K, V> tailMap(K fromKey) 해당 맵에서 fromKey와 같거나, fromKey보다 큰 키로 구성된 부분만을 반환한다.


출저
http://www.tcpschool.com/java/java_collectionFramework_map

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com