728x90
- 데이터를 키와 값의 쌍으로 저장
- 순서를 유지하지 않음
- 키는 중복을 허용하지 않고 값은 중복을 허용함
- 두 클래스의 차이는 동기화 유무
- 순서를 유지하려면 LinkedHashMap 클래스를 사용
- Hashing 기법으로 데이터를 저장하여 많은 데이터도 빠르게 검색이 가능
- ID/PW, 카운팅, 빈도수 체크 등에 사용
Hashing
Hash 함수를 이용하여 HashTable에 데이터를 저장하고 읽어오는 기법
같은 Key를 넣으면 항상 같은 Hash Code(배열의 인덱스)가 나오는 구조
서로 다른 키에서도 같은 값의 해시코드를 반활할 수도 있음
- 키로 해시함수를 호출해서 해시코드를 읽음
- 해시코드에 대응하는 연결리스트를 배열에서 찾음
- 연결리스트에서 키와 일치하는 데이터를 찾음
생성자
HashMap();
HashMap(int initialCapacity);
HashMap(int initialCapacity, float loatFacotor);
HashMap(Map m);
메소드
put(), putAll()
지정 키와 값을 저장하거나 Map전체를 저장
remove()
키에 해당하는 쌍을 제거
replace()
키에 해당하는 값을 변경
entrySet()
키와 값 쌍을 Set 타입으로 읽어옴
keySet()
키만 Set 타입으로 읽어옴
values(0
값만 컬렉션 타입으로 읽어옴
get()
키에 해당하는 값을 반환
getOrDefault(key, defaultValue)
지정한 키에 해당하는 값이 없을 경우 기본값을 반환
containsKey(), containsValue()
지정한 키나 값이 존재하는지 여부를 반환
clone()
Map을 복제
'Java > Notion' 카테고리의 다른 글
Generics (0) | 2023.05.01 |
---|---|
컬렉션 프레임워크 - Collections 클래스 (0) | 2023.05.01 |
Set - TreeSet (0) | 2023.04.30 |
Set - HashSet (0) | 2023.04.30 |
Comparator / Comparable (0) | 2023.04.30 |