키(key) 컬렉션 내의 키(key) 중에서 유일해야 한다. 값(value) 키(key)와 달리 데이터의 중복을 허용한다.
| 생성자 / 메서드 | 설명 |
|---|---|
| HashMap() | HashMap객체를 생성 |
| HashMap(int initialCapacity) | 지정된 값을 초기용량으로 하는 HashMap객체를 생성 |
| HashMap(int initialCapacity, float loadFactor) | 지정된 초기용량과 load factor의 HashMap객체를 생성 |
| HashMap(Map m) | 지정된 Map의 모든 요소를 포함하는 HashMap생성 |
| void clear() | HashMap에 저장된 모든 객체를 제거 |
| Object clone() | 현재 HashMap을 복제해서 반환 |
| boolean containsKey(Object key) | HashMap에 지정된 키(key)가 포함되어있는지 알려준다.(포함되어 있으면 true) |
| boolean containsValue(Object value) | HashMap에 지정된 값(value)가 포함되어있는지 알려준다.(포함되어 있으면 true) |
| Set entrySet() | HashMap에 저장된 키와 값을 엔트리(키와 값의 결합)의 형태로 Set에 저장해서 반환 |
| Object get(Object key) | 지정된 키(key)의 값(객체)을 반환, 못찾으면 null 반환 |
| Object get(Object key, Object defaultValue) | 지정된 키(key)와 값(객체)을 반환한다. 키를 못찾으면, 기본값(defaultValue)로 지정된 객체를 반환 |
| boolean isEmpty() | HashMap이 비어있는지 알려준다. |
| Set keySet() | HashMap에 저장된 모든 키가 저장된 Set을 반환 |
| Object put(Object key, Object value) | 지정된 키와 값을 HashMap에 저장 |
| void putAll(Map m) | Map에 저장된 모든 요소를 HashMap에 저장 |
| Object remove(Object key) | HashMap에서 지정된 키로 저장된 값(객체)를 제거 |
| Object replace(Object key, Object value) | 지정된 키의 값을 지정된 객체(value)로 대체 |
| boolean replace(Object key, Object oldValue, Object newValue) | 지정된 키와 객체(oldValue)가 모두 일치하는 경우에만 새로운 객체(newValue)로 대체 |
| int size() | HashMap에 저장된 요소의 개수를 반환 |
| Collectino values() | HashMap에 저장된 모든 값을 컬렉션의 형태로 반환 |

배열의 인덱스가 n인 요소의 주소 = 배열의 시작주소 + type의 size * n

알고리즘이며, 이 예에서 사용된 해시함수의 알고리즘은 주어진 키(주민번호)의 첫 번째 문자를 뽑아서 정수로 반환하기만 하면 되므로 아래와 같이 코드로 표현할 수 있다.int hashFunction(String key) {
return Integer.parseInt(key.substring(0, 1));
}