다음과 같은 차이점이있는 해시 맵 및 해시 테이블의 내부 데이터 구조의 차이점은 무엇입니까?해시 테이블 및 해시맵
- 해시 맵은 하나의 null 키를 허용하고 해시 테이블은 none을 허용합니다.
- 해시 맵은 아직 해시 테이블을 읽지 않았지만 유지 관리 명령을 보장하지 않습니다.
나는 둘 다 근본적으로 내부적으로 '버킷'의 배열이라고 생각했습니다.
다음과 같은 차이점이있는 해시 맵 및 해시 테이블의 내부 데이터 구조의 차이점은 무엇입니까?해시 테이블 및 해시맵
나는 둘 다 근본적으로 내부적으로 '버킷'의 배열이라고 생각했습니다.
그들은 둘 다 해시 값을 사용하여 요소를 식별하기 때문에. 따라서 그들은 주문을 보장 할 수 없습니다. 그리고 언급 한 차이점은 다른 추상 클래스를 확장했기 때문입니다. Dictionary는 키가 null이 아닌 값이어야하는 추상 맵 클래스입니다. JDK에서 더 많은 것을 찾을 수있는 이런 종류의 질문에 대해서는 단지 두 가지 두려움을주지 않아야합니다.
public class Hashtable<K,V>
extends Dictionary<K,V>
implements Map<K,V>, Cloneable, java.io.Serializable {
public class HashMap<K,V>
extends AbstractMap<K,V>
implements Map<K,V>, Cloneable, Serializable
당신은 고고학을 공부하지 않는 한 당신의 HashMap과 ConcurrentHashMap의 (스레드 안전)를 사용한다 들어
. 둘 중 하나에 특정한 메소드를 사용하지 않는 한 Map 인터페이스 인스턴스에 지정하십시오.
잘 HashTable 클래스가 동기화됩니다. 따라서 충돌 해결을 없애기 위해 체인 연결을 사용할 수 있습니다. 둘 다 어레이 버킷을 유지합니다.