-
11 (6) HashMapJava 2023. 5. 26. 21:34반응형
HashMap과 TreeMap - 순서X, 중복(키X, 갑O)
- Map 인터페이스를 구현, 데이터를 키와 값의 쌍으로 저장
- HashMap(동기화X)은 Hashtable(동기화O)의 신버전
▶ HashMap
- Map 인터페이스를 구현한 대표적인 컬렉션 클래스
- 순서를 유지하려면, LinkedHashMap클래스를 사용하면 된다.
▶ TreeMap
- 범위 검색과 정렬에 유리한 컬렉션 클래스
- HashMap보다 데이터 추가, 삭제에 시간이 더 걸림
HashMap의 키(key)와 값(value)
- 해싱(hashing) 기법으로 데이터를 저장. 데이터가 많아도 검색이 빠르다.
※Hash에는 ← 해싱(hashing) 기법이 들어가 있다
- Map인터페이스를 구현. 데이터를 키와 값의 쌍으로 저장- Map 인터페이스를 구현한 대표적인 컬렉션 클래스
- 순서를 유지하려면, LinkedHashMap클래스를 사용하면 된다.
▶ TreeMap
- 범위 검색과 정렬에 유리한 컬렉션 클래스
- HashMap보다 데이터 추가, 삭제에 시간이 더 걸림
HashMap의 키(key)와 값(value)
- 해싱(hashing) 기법으로 데이터를 저장. 데이터가 많아도 검색이 빠르다.
※Hash에는 ← 해싱(hashing) 기법이 들어가 있다
- Map인터페이스를 구현. 데이터를 키와 값의 쌍으로 저장
Object.hash( )
해싱(hashing)
▶해시테이블에 저장된 데이터를 가져오는 과정
① 키로 해시함수를 호출해서 해시코드를 얻는다
② 해시코드 (해시함수의 반환값)에 대응하는 링크드리스트를 배열에서 찾는다.
③ 링크드리스트에서 키와 일치하는 데이터를 찾는다.
※ 해시 함수는 같은 키에 대해 항상 같은 해시코드를 반환해야 한다. ex) 저장 7 ≠잃어올떄 8 (X)
서로 다른 키일지라도 같은 값의 해시코드를 반환할 수도 있다. ex) data[7]에서 75xxxx , 72xxx
HashMap - 주요 메서드
반응형'Java' 카테고리의 다른 글
12 (1) 지네릭스 (0) 2023.05.28 11 (7) Collections (0) 2023.05.27 11 (5) TreeSet (0) 2023.05.21 11 (4) HashSet (0) 2023.05.20 11 (3) Iterator, Enumeration, Map과 Iterator (0) 2023.05.19