본문 바로가기

해시충돌2

자바의 HashMap 심층분석 (2) 지난 글에서는 자바의 중요한 자료구조 중 하나로, 데이터를 빠르고 효율적으로 관리하고 검색할 수 있는 HashMap의 개념과 작동 방법에 대해 살펴보았습니다. 이번 글에서는 HashMap 사용 시 발생할 수 있는 문제들과 문제해결을 위한 몇 가지 해결방안을 알아보겠습니다. 1. 해시 충돌 문제 해시 충돌 문제는 지난 글에서도 언급된 바와 같이 해시 함수를 통해 생성된 해시 코드가 중복되는 현상을 말합니다. 즉, 서로 다른 두 개 이상의 키(KEY)가 동일한 해시코드를 가지는 경우를 의미합니다. 이런 상황이 발생하면, 서로 다른 키에 대한 값이 동일한 위치에 저장되어야 하는 문제가 발생합니다. 가장 대표적인 두 가지 해결 방법으로는 '개방주소법(Open Addressing)'과 '체이닝(Chaining)'.. 2024. 2. 13.
자바의 HashMap 심층분석 (1) HashMap은 자바에서 매우 유용한 자료구조 중 하나로, 키와 값(key-value)의 쌍을 저장하는 해시 테이블 기반의 자료구조입니다. 이 자료구조는 키(key)를 해시함수를 사용하여 해시 코드(hash code)로 변환하고, 이를 기반으로 배열에 저장된 버킷(bucket) 내에 해당 키와 연관된 값을 저장합니다. 이번 글에서는 HashMap의 개념과 작동 방법에 대해 살펴보겠습니다. HashMap 이란? HashMap은 Map 인터페이스를 구현한 클래스로서 key-value 쌍으로 이루어진 데이터 저장과 검색을 할 수 있게 해주는 자료구조입니다. Key와 Value 형태로 이루어져 있으며, 각 요소들을 키로 설정함으로써 중복되지 않는 고유한 값을 가질 수 있도록 합니다. 또한, 기존의 배열과는 다르.. 2024. 2. 10.