key와 value로 구성된 Entry 객체 저장
HashMap, TreeMap, LinkedHashMap 등 다양한 Map 구현체가 내부적으로 Entry 객체를 사용하여 키-값 쌍을 관리
Key 중복 불가능, Value 중복 가능
순서 없음
검색에 매우 효율적
Key, Value, Entry 모두 객체
**** Map 인터페이스는 Iterable 인터페이스, Collection 인터페이스를 상속받지 않는다.
즉, Iterable, Collection 인터페이스가 제공하는 메서드를 사용할 수 없다.
HashMap
사용자 정의 클래스 객체를 사용할 때 hashCode(), equals() 함수를 반드시 오버라이딩해줘야 한다.
-> 기준 설정
TreeMap
사용자 정의 클래스 객체를 사용할 때, Comparable 인터페이스를 구현해야한다.
-> ComparaTo() 메서드를 오버라이딩해야 한다. (기준 설정)
Map< K,V > 메서드 13가지
컬렉션 클래스 계층 구조
put(Key k, Value) : Value
key값과 value 값 한 쌍의 데이터를 Map에 저장한다.
Map에 동일한 key값을 갖는 객체가 있는 경우 그 객체의 value값을 반환하고 새로 들어온 value 값을 저장한다.
-> 없으면 null 반환
**** key 값은 변경되지 않음
replace(Key k, Value v) : Value
저장된 객체의 value값을 수정한다.
수정하기 전 value 값을 반환, key에 해당하는 것이 없으면 null 반환
** key 값은 변경되지 않는다.
containsKey(Object key) : boolean
Map에 저장된 요소 중 일치하는 key 값이 존재하는지 확인
존재하면 true, 없으면 false 반환
containsValue(Object value) : boolean
Map에 저장된 요소 중 일치하는 value 값이 존재하는지 확인
존재하면 true, 없으면 false 반환