해시맵 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
7번째 줄: 7번째 줄:
 
== 특징 ==
 
== 특징 ==
  
해시맵은 맵 인터페이스를 기반으로 구현되며 맵의 수행을 모두 지원하며, 키와 밸류에 널(null)을 허용한다. 해시맵은 맵의 순서를 보장하지 않고 해시 함수가 복수의 버킷으로 요소를 적절히 분산 시키는 것을 상정해, 기본 수행(Get, Set)에 일정시간의 퍼포먼스를 제공한다. 해시맵의 인스턴스에는 성능에 영향을 주는 2개의 파라미터 초기용량, 부하계수가 존재한다. '''초기 용량'''은 버킷의 개수이며 '''부하계수'''는 버킷에 들어가는 엔트리(entry)개수와 버킷의 총수의 비율이다. 부하계수가 커질수록 메모리가 절약되지만 검색이 어렵다는 단점이 있다. 이와 더불어 해시맵은 동기화되지 않는다.<ref>Vaert Street, 〈[https://vaert.tistory.com/97 (Java) 해시맵(HashMap)에 대하여 심층적으로 알아보자]〉, 《티스토리》, 2014-03-21</ref>
+
해시맵은 맵 인터페이스를 기반으로 구현되며 맵의 수행을 모두 지원하며, 키와 밸류에 널(null)을 허용한다. 해시맵은 맵의 순서를 보장하지 않고 해시 함수가 복수의 버킷으로 요소를 적절히 분산 시키는 것을 상정해, 기본 숭행(Get,Set)에 일정시간의 퍼포먼스를 제공한다. 해시맵의 인스턴스에는 성능에 영향을 주는 2개의 파라미터 초기용량, 부하계수가 존재한다. '''초기 용량'''은 버킷의 개수이며 '''부하계수'''는 버킷에 들어가는 엔트리(entry)개수와 버킷의 총수의 비율이다. 부하계수가 커질수록 메모리가 절약되지만 검색이 어렵다는 단점이 있다. 이와 더불어 해시맵은 동기화되지 않는다.<ref>Vaert Street, 〈[https://vaert.tistory.com/97 (Java) 해쉬맵(HashMap)에 대하여 심층적으로 알아보자]〉, 《티스토리》, 2014-03-21</ref>
  
 
=== 인터페이스 ===
 
=== 인터페이스 ===
  
* '''맵인터페이스''': 맵(Map)인터페이스는 키(Key)와 값(value)를 하나의 세트로 묶어 저장하는 컬렉션 클래스를 구현하는데 사용한다. 값은 중복될 수 있지만 키는 중복될 수 없다. 데이터와 중복된 키와 값을 저장하면, 기존의 값은 없어지고 마지막에 저장된 값이 남게 된다.
+
* '''맵인터페이스''' : 맵(Map)인터페이스는 키(Key)와 값(value)를 하나의 세트로 묶어 저장하는 컬렉션 클래스를 구현하는데 사용한다. 값은 중복될 수 있지만 키는 중복될 수 없다. 데이터와 중복된 키와 값을 저장하면, 기존의 값은 없어지고 마지막에 저장된 값이 남게 된다.
* '''맵.엔트리인터페이스''': 맵.엔트리(Map.Entry)인터페이스는 맵인터페이스의 내부 인터페이스이다. 맵에 저장되는 키와 값을 다루기 위한 인터페이스이며 맵인터페이스를 구현하는 클래스는 맵.엔트리인터페이스도 함께 구현해야 한다.<ref>게임회사에서 살아남기, 〈[https://whatisthenext.tistory.com/81 (jAVA) 해시맵(HashMap)]〉, 《티스토리》, 2016-08-31</ref>
+
* '''맵.엔트리인터페이스''' : 맵.엔트리(Map.Entry)인터페이스는 맵인터페이스의 내부 인터페이스이다. 맵에 저장되는 키와 값을 다루기 위한 인터페이스이며 맵인터페이스를 구현하는 클래스는 맵.엔트리인터페이스도 함께 구현해야 한다.<ref>게임회사에서 살아남기, 〈[https://whatisthenext.tistory.com/81 (jAVA) 해시맵(HashMap)]〉, 《티스토리》, 2016-08-31</ref>
  
 
=== 해시맵과 해시테이블===
 
=== 해시맵과 해시테이블===

해시넷에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 해시넷:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)