컬렉션 프레임워크 (Collection Framework) - 6.1. HashMap

CJI0524·2024년 7월 12일

Java/Collection Framework

목록 보기
19/26

1. HashMap

HashMapMap 인터페이스를 구현한 클래스로 해싱(hashing)을 사용 하기 때문에 많은 양의 데이터를 검색하는데 있어서 뛰어난 성능을 갖는다. 내부적으로 배열과 링크드 리스트를 사용하여 데이터를 저장한다. 이에 대한 자세한 설명은 생략한다.

2. HashMap 클래스에 정의된 메서드 목록

2.1. 생성자

메서드기능
HashMap()HashMap 객체를 생성
HashMap(int initialCapacity)지정된 값을 초기용량으로 하는 HashMap 객체를 생성
HashMap(int initialCapacity, float loadFactor)지정된 초기용량과 load factor의 HashMap 객체를 생성
HashMap(Map m)지정된 Map의 모든 요소를 포함하는 HashMap 객체를 생성

2.2. 삽입 / 탐색 / 삭제 메서드

반환타입이 boolean인 메서드들은 작업에 성공하거나 사실이면 true, 아니면 false를 반환한다.

삽입

메서드기능
Object put(Object key, Object value)HashMap에 value 객체를 key 객체에 연결하여 저장
void putAll(Map t)지정된 HashMap의 모든 key-value 쌍을 추가

변경

메서드기능
Object replace(Object key, Object value)지정된 키의 값을 지정된 객체(value)로 대체
Object replace(Object key, Object oldValue, Object newValue)지정된 키와 객체(oldValue)가 모두 일치하는 경우에만 새로운 객체(newValue)로 대체

탐색

메서드기능
boolean containKey(Object key)지정된 key 객체와 일치하는 HashMap의 key 객체가 있는지 확인
boolean containValue(Object value)지정된 value 객체와 일치하는 HashMap의 value 객체가 있는지 확인
Set entrySet()HashMap에 저장되어 있는 모든 key-value 쌍을 HashMap.Entry 타입의 객체로 저장한 Set을 반환
Set keySet()HashMap에 저장된 모든 key 객체를 반환
Collection values()HashMap에 저장된 모든 value 객체를 반환
Object get(Object key)지정된 키(key)의 값(객체)을 반환
못찾으면 null을 반환
Object getOrDefault(Object key, Object defaultValue)지정된 키(key)의 값(객체)을 반환
키를 못찾으면, 기본값 (defaultValue)로 지정된 객체를 반환

삭제

메서드기능
Object remove(Object key)지정한 key 객체와 일치하는 key-value 객체를 삭제
void clear()HashMap의 모든 객체를 삭제

2.3. HashMap.Entry 클래스에서 정의된 메서드

메서드기능
boolean equals(Obejct o)동일한 Entry인지 비교
Object getKey()Entry의 key 객체를 반환
Object getValue()Entry value 객체를 반환
int hashCode()Entry의 해시코드를 반환
Object setValue(Object value)Entry의 value 객체를 지정된 객체로 변경

2.4. 추가 핵심 기능

Object 메서드

메서드기능
boolean equals(Object o)동일한 HashMap인지 비교
int hashCode()해시코드를 반환
Object clone()현재 HashMap을 복제해서 반환

컬렉션 상태 체크 / 변경

메서드기능
boolean isEmpty()HashMap이 비어있는지 확인
int size()HashMap에 저장된 key-value 쌍의 개수를 반환

이러한 기능을 가진 HashMapLinkedHashMap 클래스가 상속한다.

3. 해당 게시글 작성에 참고한 글 목록

자바의 정석 3판 (저자 : 남궁성)
Java Collections Framework Video Tutorial
오라클 Java 문서

profile
개발돌이

0개의 댓글