developer tip

HashMap과 사전 ADT의 차이점

optionbox 2020. 12. 5. 09:39
반응형

HashMap과 사전 ADT의 차이점


해시 맵과 사전 ADT의 차이점은 무엇입니까? 그리고 서로를 선호 할 때. 내 프로그래밍 과제를 위해 강사가 그중 하나를 사용하도록 요청했지만 둘 사이에 차이점이 없습니다. 이 프로그램은 엄청난 아니오로 작동해야합니다. 문자열 어떤 제안?


Java 측면에서 클래스 HashMap와 클래스 Dictionary모두 "Map"추상 데이터 유형의 구현 입니다. 추상 데이터 유형은 하나의 프로그래밍 언어에만 국한되지 않으며 Map ADT는 해시, 사전 또는 연관 배열 ( http://en.wikipedia.org/wiki/Associative_array 에서 기타 ) 이라고도합니다 . ( Dictionary클래스와 Dictionary ADT를 구분 하고 있습니다.)

Dictionary 클래스는 그것을 사용하지 않는 것이 좋습니다, 그래서 오래된로 표시되었습니다.


이 Stack Overflow 게시물은 주요 차이점을 잘 설명합니다.

자바 해시 맵과 해시 테이블

Hashtable은 단순히 Dictionary ADT의 구현입니다. 또한 Java는 Dictionary "구식"으로 간주 합니다.

Hashtable이 동기화되어 있다는 사실은 대부분의 용도로 많이 구매하지 않습니다. HashMap을 사용하십시오.


Java에서 HashMap은 Map 인터페이스를 구현하지만 Dictionary는 구현하지 않습니다. 이로 인해 사전이 쓸모 없게됩니다 (API 문서에 따라). 즉, 둘 다 비슷한 기능을 수행하므로 매우 비슷해 보입니다. HashMap은 사전의 한 유형입니다.

하지만 HashMap을 사용하는 것이 좋습니다.


Map은 <key, value> 쌍을 유지하기위한 동일한 일반 언어 독립적 데이터 구조 인 Java의 ADT를위한 인터페이스 이며 Java 1.2에 도입되었습니다.

딕셔너리 (Map의 구현이 아님)는 JDK 1.0에서 소개 한 것과 동일한 목적을위한 추상 클래스입니다. 그것이 가진 유일한 하위 클래스는 자체적으로 Map을 구현하는 Hashtable입니다. 그럼에도 불구하고 Dictionary 클래스는 이제 쓸모없고 잊어 버릴 수도 있습니다.

Map과 Dictionary의 함수 멤버 간에는 차이가 있지만 HashMap과 Hashtable의 차이점이 더 유용하다는 것을 알 수 있습니다. 여기서 차이점을 찾을 수 있습니다.

참고 URL : https://stackoverflow.com/questions/267312/difference-between-a-hashmap-and-a-dictionary-adt

반응형