Hashtable

2019/03/20 - [프로그래밍 노트/JAVA] - [JAVA] 동기화된 컬렉션(thread-safe collection), 병렬처리 가능한 컬렉션 Hashtable 클래스는 동기화할 수 있으며 병렬처리에 효율적이다. 하지만 오버헤드 때문에 성능이 상당히 저하된다. HashMap은 오버헤드의 문제는 없지만, 동기화할 수 없다는 특징이 있다. 따라서 동시성 요구든 용도에 맞게 map 클래스를 사용해야 한다. 병렬 환경에서의 Map 인터페이스를 사용하는 곳에는 ConcurrentHashMap(자바5이상)를 사용하는 것이 좋다.
해시 테이블해시 테이블(hash table)은 효율적인 탐색을 위한 자료구조로 키(key)를 값(value)에 대응시킨다. 해시 테이블을 간단히 구현하는 경우, 배열과 해시 함수(hash function)만 있으면 된다.객체와 키를 해시 테이블에 저장할 경우, 해시 함수가 키를 정수값으로 대응 시키는데, 이 정수 값이 배열의 첨자(index)로 쓰인다. 객체는 배열의 해당 첨자 위치에 저장된다.하지만.. 이것은 정상적으로 작동하지 않을 수 있다. 왜냐하면 해시 함수가 계산하는 모든 키 값이 유일(unique)해야 하기 때문이다. 해시함수 후에 나오는 결과가 동일한 결과가 나올 경우 우리는 이것을 충돌(collision)이라고 한다. 충돌(collision)을 피하려면 모든 키 값을 고려해서 배열을 극도로..
깡냉쓰
'Hashtable' 태그의 글 목록