본문 바로가기

MAP2

『Java』 Map, Stack, Queue, Deque Map Map은 키-값의 쌍을 저장하는 자료 구조다. 키는 맵 내에서 유일해야 한다. 그리고 키를 통해 값을 빠르게 검색할 수 있다. 키는 중복될 수 없지만, 값은 중복될 수 있다. Map은 순서를 유지하지 않는다. 자바는 HashMap, TreeMap, LinkedHashMap 등 다양한 Map 구현체를 제공한다.이들은 Map 인터페이스의 메서드를 구현하며 각기 다른 특성을 가지고 있다. HashMap구조해시를 사용해서 요소를 지정한다. Key 값은 해시 함수를 통해 해시 코드로 변환되고 해시 코드는 데이터를 저장하고 검색하는 데 사용된다. 특징삽입, 삭제, 검색 작업은 해시 자료 구조를 사용하므로 일반적으로 상수 시간 O(1)의 복잡도를 가진다. 순서순서를 보장하지 않는다.   LinkedHashMa.. 2024. 11. 28.
『Java』 HashMap은 어떤 원리로 동작하는가 HashMap은 자주 사용하는 컬렉션 중 하나다. 키와 값을 쌍으로 저장하며 데이터의 삽입, 삭제, 검색이 평균적으로 O(1) 시간 복잡도를 갖는 자료구조다. HashMap의 내부 동작 원리와 해시 충돌 해결 방법에 대해 알아보자.   HashMap 개념HashMap은 키(Key)와 값(Value)이 1:1로 매핑되는 자료구조다. 여기서 키는 중복을 허용하지 않지만 값은 중복될 수 있다. 내부적으로 배열을 사용하며 각 배열의 요소를 버킷(bucket)이라고 한다.키를 해시 함수에 통과시켜 해시 값을 얻고 해시 값을 이용해 버킷 배열의 인덱스를 결정한다.일반적으로 해시 함수는 hashcode() % M 형태로 계산되기에 서로 다른 키가 동일한 인덱스를 가리키는 해시 충돌(hash collision)이 발생.. 2024. 11. 22.