본문 바로가기

건승하고있어요/Java

[Collection] Map - HashMap

반응형

Map - 인터페이스

-키(key)와 값(value)으로 구성, 쌍을 이룸

-키(객체) : 중복저장 불가

-값(객체) : 중복저장 가능

-기존에 저장된 키와 동일한 키로 값을 저장하면 기존의 값은 없어지고 새로운 값으로 대치됨


주요 메소드

기능 

메소드 

설명 

 객체추가

V put(K key, V value) 

주어진 키와 값을 추가, 저장되면 값을 리턴 

객체검색 

boolean containsKey(Object key) 

주어진 키가 있는지 여부 

boolean containsValue(Object value) 

주어진 값이 있는지 여부 

Set<Map.Entry<K, V>> entrySet() 

키와 쌍으로 구성된 모든 Map.Entry객체를 Set에 담아서 리턴

V get(Object key) 

주어진 키가 있는 값을 리턴 

boolean isEmpty()

컬렉션이 비어있는지 여부 

Set<K> keySet()

모든 키를 Set 객체에 담아서 리턴 

int Size()

저장된 키의 총 수를 리턴 

Collection<V> values()

저장된 모든 값을 Collection에 담아서  

 객체삭제

void clear() 

모든 Map.Entry(키와 값)를 삭제 

V remove(Object key) 

주어진 키와 일치하는 Map.Entry를 삭제하고 값을 리턴 


HashMap

Map 인터페이스를 구현한 대표적인 Map컬렉션


-HashMap의 키로 사용할 객체는 hashCode()와 equalsl()메소드를 재정의해서 동등객체가 될 조건을 정해야 함. 

동등객체: 동일한 키가 될 조건 => hashCode()의 리턴값이 같아야 하고, equals() 메소드가 true를 리턴


키와 값의 타입 : 기본타입(byte, short, int, float, double, boolean, char) 사용 불가능, 클래스 및 인터페이스 타입만 가능.


ex) 키로 String타입을 사용, 값으로 Integer타입을 사용하는 hashMap

Map<String, Integer> map = new HashMap<String, Integer>();



반응형