1. Hashtable
- Vector와 ArraysList의 관계같이 HashMap의 예전것으로 보면됨 -> HashMap 사용 권장
2. HashMap
- 해싱(hasing) 기법으로 데이터 저장, 데이터가 많아도 검색이 빠름
- Map인터페이스를 구현, 데이터를 키와 값의 쌍으로 저장
키(key): 컬렉션 내의 키 중에서 유일
값(value): 키와 달리 데이터 중복 허용
3. 해싱(hasing)
- 해시함수(hash function)를 이용해서 데이터를 저장하고 읽어 오는 것
- 해시함수로 해시테이블(hash table)에 데이터를 저장, 검색
4. 해시 함수(hash fuction)
- object.hash()메소드 사용
- 같은 키에 대해 항상 같은 해시코드 반환(서로 다른 키일지라도 같은 값의 해시코드를 반환 할 수도 있음)
5. 해시테이블(hash table)
- 배열과 링크드 리스트가 조합된 형태
- 배열의 장점인 접근성과 링크드리스트의 장점인 변경에 유리한 점을 이용할 수 있음
6. 해싱의 과정
1) 키로 해시 함수를 호출해서 해시코드를 읽음
2) 해시코드(해시함수의 반환값)에 대응하는 링크드리스트를 배열에서 찾음)
3) 링크드 리스트에서 키와 일치하는 데이터를 찾음
'Java' 카테고리의 다른 글
[Java] 제네릭(Generics) (0) | 2023.01.10 |
---|---|
Java Collections 클래스 (0) | 2023.01.09 |
Java 컬렉션(Collection) - Set(집합) HashSet, TreeSet (0) | 2023.01.03 |
Java Comparable, Comparator 인터페이스 (0) | 2023.01.03 |
Java Arrays 클래스(Arrays Class) (0) | 2023.01.03 |