의견.png

해시맵

위키원
dbwls5813 (토론 | 기여)님의 2019년 5월 28일 (화) 17:53 판
이동: 둘러보기, 검색

해시맵(HashMap)은 컴퓨팅에서 키를 값에 매핑할 수 있는 구조인, 연관 배열 추가에 사용되는 자료 구조이다.

개요

해시맵은 저장은 느리지만 다량의 데이터를 검색하는데 뛰어난 성능을 가진 맵 인터페이스 계열의 대표적인 클래스로서 (key)와 밸류(value)의 쌍으로 이루어진다. 해시맵은 주요 메소드에 싱크로나이즈드(synchronized) 키워드가 없고 해시 알고리즘을 사용한다.[1]

특징

해시맵은 맵 인터페이스를 기반으로 구현되며 맵의 수행을 모두 지원하며, 키와 밸류에 널(null)을 허용한다. 해시맵은 맵의 순서를 보장하지 않고 해시 함수가 복수의 버킷으로 요소를 적절히 분산 시키는 것을 상정해, 기본 숭행(Get,Set)에 일정시간의 퍼포먼스를 제공한다. 해시맵의 인스턴스에는 성능에 영향을 주는 2개의 파라미터 초기용량, 부하계수가 존재한다. 초기 용량은 버킷의 갯수이며 부하계수는 버킷에 들어가는 엔트리(entry)갯수와 버킷의 총수의 비율이다. 부하계수가 커질수록 메모리가 절약되지만 검색이 어렵다는 단점이 있다. 이와 더불어 해시맵은 동기화되지 않는다.[2]

각주

  1. JayB Kim, 〈HashMap 과 Hashtable 의 차이〉, 《개인 블로그》, 2017-06-10
  2. Vaert Street, 〈(Java) 해쉬맵(HashMap)에 대하여 심층적으로 알아보자〉, 《티스토리》, 2014-03-21

참고자료

같이 보기


  의견.png 이 해시맵 문서는 블록체인 기술에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.