

LinkedHashMap은 HashMap을 상속한 클래스로 HashMap의 모든 기능을 상속받으며 저장된 Entry에 대해 이중 연결 리스트(Doubly Linked List )의 구조를 추가하여 순서를 유지한다. 해싱(Hashing) 과정 자체는 HashMap과 LinkedHashMap 서로 유사하다.
| 메서드 | 기능 |
|---|---|
| LinkedHashMapp() | LinkedHashMap 객체를 생성 |
| LinkedHashMap(int initialCapacity) | 지정된 값을 초기용량으로 하는 LinkedHashMap 객체를 생성 |
| LinkedHashMap(int initialCapacity, float loadFactor) | 지정된 초기용량과 load factor의 LinkedHashMap 객체를 생성 |
| LinkedHashMap(Map m) | 지정된 Map의 모든 요소를 포함하는 LinkedHashMap 객체를 생성 |
| LinkedHashMap(int initialCapacity, float loadFactor, boolean accessOrder) | 초기 용량, 부하 인수 및 접근 순서 모드를 지정할 수 있음. accessOrder가 true이면 접근 순서가 유지 |
반환타입이 boolean인 메서드들은 작업에 성공하거나 사실이면 true, 아니면 false를 반환한다.
| 메서드 | 기능 |
|---|---|
| Object put(Object key, Object value) | LinkedHashMap에 value 객체를 key 객체에 연결하여 저장 |
| void putAll(Map t) | 지정된 LinkedHashMap의 모든 key-value 쌍을 추가 |
| 메서드 | 기능 |
|---|---|
| Object replace(Object key, Object value) | 지정된 키의 값을 지정된 객체(value)로 대체 |
| Object replace(Object key, Object oldValue, Object newValue) | 지정된 키와 객체(oldValue)가 모두 일치하는 경우에만 새로운 객체(newValue)로 대체 |
| 메서드 | 기능 |
|---|---|
| boolean containKey(Object key) | 지정된 key 객체와 일치하는 LinkedHashMap의 key 객체가 있는지 확인 |
| boolean containValue(Object value) | 지정된 value 객체와 일치하는 LinkedHashMap의 value 객체가 있는지 확인 |
| Set entrySet() | LinkedHashMap에 저장되어 있는 모든 key-value 쌍을 LinkedHashMap.Entry 타입의 객체로 저장한 Set을 반환 |
| Set keySet() | LinkedHashMap에 저장된 모든 key 객체를 반환 |
| Collection values() | LinkedHashMap에 저장된 모든 value 객체를 반환 |
| Object get(Object key) | 지정된 키(key)의 값(객체)을 반환 못찾으면 null을 반환 |
| Object getOrDefault(Object key, Object defaultValue) | 지정된 키(key)의 값(객체)을 반환 키를 못찾으면, 기본값 (defaultValue)로 지정된 객체를 반환 |
| 메서드 | 기능 |
|---|---|
| Object remove(Object key) | 지정한 key 객체와 일치하는 key-value 객체를 삭제 |
| void clear() | LinkedHashMap의 모든 객체를 삭제 |
| boolean removeEldestEntry(Map.Entry eldest) | 가장 오래된 엔트리를 제거할지 여부를 결정 기본 구현은 false를 반환하여 아무 것도 제거하지 않음 이 메서드를 재정의하여 특정 조건에 따라 가장 오래된 엔트리를 제거 가능 |
| 메서드 | 기능 |
|---|---|
| boolean equals(Obejct o) | 동일한 Entry인지 비교 |
| Object getKey() | Entry의 key 객체를 반환 |
| Object getValue() | Entry value 객체를 반환 |
| int hashCode() | Entry의 해시코드를 반환 |
| Object setValue(Object value) | Entry의 value 객체를 지정된 객체로 변경 |
| 메서드 | 기능 |
|---|---|
| boolean equals(Object o) | 동일한 LinkedHashMap인지 비교 |
| int hashCode() | 해시코드를 반환 |
| Object clone() | 현재 LinkedHashMap을 복제해서 반환 |
| 메서드 | 기능 |
|---|---|
| boolean isEmpty() | LinkedHashMap이 비어있는지 확인 |
| int size() | LinkedHashMap에 저장된 key-value 쌍의 개수를 반환 |
자바의 정석 3판 (저자 : 남궁성)
Java Collections Framework Video Tutorial
오라클 Java 문서