Map<K, V>는 데이터를 Key와 Value의 쌍으로 연결지어서 저장하는 객체이다.
Key와 Value의 쌍을 표현하는 객체는 Entry<K, V>
다.
Map<K, V>
객체는 Entry<K, V>
객체를 여러 개 저장하는 객체다.
(데이터를 담으면 Map객체가 알아서 Entry를 만들고 관리한다고 생각하면 됨)
Key | Value | Map<K, V> |
---|---|---|
학번 | 학생객체 | Map<Integer, Student> |
주문번호 | 주문정보객체 | Map<Long, Order> |
사용자아이디 | 사용자정보객체 | Map<String, User> |
상품번호 | 상품정보객체 | Map<Integer, Product> |
K는 key 값의 타입이다.
key
V는 value값의 타입이다.
value
<aside> 💡 배열, List, Set과 달리 key만 알고 있으면 반복문 없이 그 key의 객체를 바로 가져올 수 있다. index와 마찬가지인 key를 알고 있다는 전제하에 사용하는 것이기 때문에 반복문을 사용할 필요가 없다. 배열 개념에서는 반복문을 통해 일치하는 저장된 객체를 일일히 찾아줘야한다. ⇒ List, Set과 달리 접근성이 좋고 if else문의 사용을 줄일 수 있다.
</aside>
V put(K key, V value)
V get(Object key)
V remove(Object key)
void clear()
int size()
boolean isEmpty()
위 메소드까지는 List, Set과 유사하다. 역할이 다를 뿐이다.
boolean containsKey(Object key)
boolean containsValue(Object value)