Java/개념

(Collection) Map

태감새 2023. 1. 15. 16:09

key와 value를 가지는 클래스다.

key값은 중복이 안되고 value는 중복이 가능하다. (ID,PW와 비슷)

만약 key값이 존재하는데 중복입력하면 value의 값이 대체된다.

- HashMap

HashMap과 Hashtable 두 가지가 있지만 차이는 동기화의 유무 뿐이다. HashMap은 동기화가 안되어있고 Hashtable은 동기화가 되어있다. 

 

- Hashing 

해시함수(Hash function)를 이용해서 해시 테이블(Hash table)에 데이터를 저장하고 읽어오는 방식.

Hashing 과정

해시 함수에 key값을 입력하면 해시 코드(Hash Value)가 나온다. 그 코드를 가지고 해시 테이블로 가서 값을 저장하거나 읽어온다.

- Hash Table

해시 테이블은 Array + LinkedList 다. 해시 코드가 인덱스 같은 역할을 해서 저장소의 위치를 찾는다(Array). 그 뒤로는 LinkedList로 연결되어 있어 하나씩 거쳐가며 값을 찾거나 입력한다. 

'Java > 개념' 카테고리의 다른 글

람다식 (Lamnda Expression)  (0) 2023.01.17
제네릭스 (Generics)  (0) 2023.01.15
(Collection) Set  (0) 2023.01.15
(Collection) Iterator, Comparator, Comparable  (0) 2023.01.15
(Collection) List  (0) 2023.01.15