자바의 HashMap은 기존의 HashTable 대신에 사용되는 Map을 구현한 자료형이다. 즉 Key와 Value를 가지며 거기에 추가로 고유한 특성으로 ‘해시’를 이용하여 많은 양의 데이터 속에서 더 빨리 원하는 값을 찾을 수 있다.
HashMap의 Key와 Value에는 어떤 값이든 지정하여 저장할 수 있다.
`private static Map<Result, Integer> calculatePlayerResultCount(Map<Player, Result> totalResult) { Map<Result, Integer> playerResult = new HashMap<>(); playerResult.put(Result.WIN, 0); playerResult.put(Result.DRAW, 0); playerResult.put(Result.LOSE, 0); for (Result r : totalResult.values()) { playerResult.put(r, playerResult.get(r) + 1); } return playerResult; }`
키(Key)의 값은 반드시 고유(unique)해야 하며 같은 키가 중복되어 존재해선 안 된다. 값(Value)은 중복될 수 있다.
주요 생성자 및 메서드
HashMap(Map m)
m의 모든 원소를 포함하는 새 HashMap을 만든다.
void clear()
HashMap에 저장된 모든 원소를 지운다.
boolean containsKey(Object key)
해당 Key가 존재하는지 알려준다.
boolean containsValue(Object value)
해당 Value가 존재하는지 알려준다.
Object get(Object key)
해당 Key의 Value를 반환한다.
Object getOrDefault(Object key, Object defaultValue)
해당 Key의 Value를 반환하거나 없으면 기본값 defaultValue를 반환한다.
boolean isEmpty()
HashMap이 비어있는지 알려준다.
Set KeySet()
HashMap의 모든 Key가 담긴 Set을 반환한다.
Object put(Object key, Objet value)
key와 value를 HashMap에 저장한다.
void putAll(Map m)
m의 모든 원소를 HashMap에 추가한다.
Object remove(Object key)
HashMap에 저장된 Key로 검색해 Value를 삭제하고 삭제된 Value를 반환
Comments powered by Disqus.