해당 글에서는 Java 11 버전을 기준으로 Map 인터페이스를 구현한 클래스인 HashMap의 메서드의 API에 대해서 확인합니다.
1) Map
💡 Map 이란?
- key와 value를 저장하는 자료구조이며 ‘인터페이스’를 의미합니다.key는 중복될 수 없고, value는 중복될 수 있습니다.
💡HashMap이란?
- Map 인터페이스를 구현한 클래스 중 하나로 ‘구현체’를 의미합니다.
- Hashing 기법을 사용하여 key와 value를 저장하고, 검색 속도가 빠르다는 장점이 있습니다.
- 또한, null key와 null value를 모두 허용한다는 점도 HashMap의 장점 중 하나이다.
[ 더 알아보기 ]
💡 해싱 기법(Hashing)
- 데이터를 고정된 길이의 값으로 변환하는 알고리즘입니다. 이렇게 변환된 값을 해시 값 또는 해시 코드라고 하며 이 값을 이용하여 데이터를 구분하고 검색하는데 사용됩니다.
- 해싱 기법은 데이터의 크기에 상관없이 고정된 길이의 해시 값을 생성하므로 데이터를 빠르게 처리하고 검색할 수 있습니다.
- 이러한 이유로 해싱 기법은 데이터베이스, 보안, 암호화 등 다양한 분야에서 활용됩니다.
[참고] Collection Framework에 대해 더 자세히 알고 싶으시면 아래의 글을 참고하시면 크게 도움이 됩니다.
[Java] Collection Framework(List, Map, Set)의 인터페이스와 구현체 이해하기 - 1 : 정의 및 예시
해당 글에서는 컬렉션 프레임워크(Collection Framework)내에서 사용되는 인터페이스와 이를 구현하는 구현체 간의 관계를 이해하기 위한 목적으로 작성한 글입니다. 1) 요약 클래스분류설명Map인터페
adjh54.tistory.com
2) HashMap Method
💡 해당 API 문서는 Java 11 버전을 기준으로 요약 정리한 API Doucument입니다.
💡 "분류" 부분은 개인적인 기준으로 분류를 하였으니 참고하시면 도움이 될 것 같습니다.
메서드 | 리턴 값 | 분류 | 설명 |
clear() | 없음 | 해시맵 초기화 | HashMap의 모든 요소를 삭제한다. |
clone() | HashMap | 해시맵 복사 | HashMap의 복사본을 반환한다. |
isEmpty() | boolean | 해시맵 빈 값 여부 | 이 HashMap이 비어 있는지 여부를 반환한다. |
size() | int | 해시맵 사이즈 | 이 HashMap에 있는 매핑 수를 반환한다. |
equals(Object o) | boolean | 해시맵과 객체 비교 | 지정된 객체와 이 HashMap이 동일한지 여부를 반환한다. |
toString() | String | 해시맵 변환 | 이 HashMap의 문자열 표현을 반환한다. |
entrySet() | Set<Map.Entry<K,V>> | 해시 값 반환 | 이 HashMap에 있는 모든 매핑을 나타내는 Set을 반환한다. |
keySet() | Set<K> | 해시 키값 반환 | 이 HashMap에 있는 모든 key를 나타내는 Set을 반환한다. |
get(Object key) | V | 해시 요소 조회 | 지정된 key에 해당하는 value를 반환한다. |
getOrDefault(Object key, V defaultValue) | V | 해시 요소 조회 (기본값) | 지정된 key에 해당하는 value를 반환한다. 이 key가 이 HashMap에 없다면 defaultValue를 반환한다. |
hashCode() | int | 해시 코드 반환 | 이 HashMap의 해시 코드 값을 반환한다. |
put(K key, V value) | V | 해시 요소 등록 | 지정된 key와 value를 이 HashMap에 매핑한다. |
putAll(Map<? extends K, ? extends V> m) | 없음 | 해시 요소 모두 등록 | 지정된 Map의 모든 매핑을 이 HashMap으로 복사한다. |
replace(K key, V value) | V | 해시 요소 값 변경 | 이 HashMap에서 지정된 key에 해당하는 value를 지정된 값으로 바꾼다. |
replaceAll(BiFunction<? super K,? super V,? extends V> function) | 없음 | 해시 요소 모두 값 변경 | 이 HashMap의 모든 매핑에 대해서 지정된 함수를 적용하여 각각의 value를 바꾼다. |
remove(Object key) | V | 해시 요소 삭제 | 이 HashMap에서 지정된 key와 해당하는 value를 제거한다. |
values() | Collection<V> | 이 HashMap에 있는 모든 value를 나타내는 Collection을 반환한다. | |
containsKey(Object key) | boolean | 해시 키값 여부 | 지정된 key가 이 HashMap에 포함되어 있는지 여부를 반환한다. |
containsValue(Object value) | boolean | 해시 값 여부 | 지정된 value가 이 HashMap에 포함되어 있는지 여부를 반환한다. |
💡 [참고] 공식 API 문서 링크
HashMap (Java SE 11 & JDK 11 )
If the specified key is not already associated with a value (or is mapped to null), attempts to compute its value using the given mapping function and enters it into this map unless null. If the mapping function returns null, no mapping is recorded. If the
docs.oracle.com
3) [참고] Map을 활용한 예시
1. Counting Map
💡 HashMap을 이용하여서 Counting을 수행하는 Map을 구현한 예시입니다.
[Java/Short] 카운트 Array/Map 구현방법: Counting Array, Counting Map
해당 글에서는 Counting 배열과 Map을 구현하는 방법에 대해서 이해를 돕기위해 작성한 글입니다. 1) Counting 배열 구성 : Array를 이용한 방법 💡 Counting 배열 구성방법 - 배열의 요소 값에 따라 새로운
adjh54.tistory.com
오늘도 감사합니다. 😀
'Java > API Document' 카테고리의 다른 글
[Java/API] WebClient Method API Document : Java 11 (0) | 2023.08.14 |
---|---|
[Java/API] Priority Queue Method API Document : Java 11 (0) | 2023.07.20 |
[Java/API] Queue Method API Document : Java 11 (0) | 2023.07.15 |
[Java/API] Stack Method API Document : Java 11 (0) | 2023.07.08 |
[Java/API] ArrayList Method API Document : Java 11 (0) | 2023.05.29 |