java
-
HashMap이란?java 2021. 2. 12. 23:09
HashMap이란? 일단, 이름 자체에서 내부 구현을 추측해보았다. Hash란 인덱스를 통해 데이터의 저장위치를 찾는 알고리즘이고, Map이란 key와 value 쌍으로 데이터를 저장하는 방식이다. 그럼 이 둘을 조합한 HashMap은 key와 value의 쌍으로 이루어진 데이터를 인덱스를 이용해 저장 또는 검색하는 자료구조다. 해시의 종류는 크게 두가지로 나뉜다. 하나는 Open Addressing이고 다른 하나는 Separate Chaining이다. java에서 실제로 사용하는 해싱기법은 Separate Chaining이므로 이 부분만 정리하도록 하겠다. 메모리는 한정적이기 때문에 현실적으로 모든 객체에 대해 고유한 인덱스를 갖게 하는 해시함수를 설계하는 건 비효율적이다. 한 WAS에서도 여러 Has..