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
'developer tip' 카테고리의 다른 글
배우 자체에서 Akka 배우의 이름을 어떻게 얻을 수 있습니까? (0) | 2020.12.05 |
---|---|
비동기 nodejs 모듈 내보내기 (0) | 2020.12.05 |
Javascript는 클래스를 확장합니다. (0) | 2020.12.05 |
JavaScript에서 ASP.NET MVC 작업 메서드 호출 (0) | 2020.12.04 |
컴파일 오류 : 패키지 javax.servlet이 없습니다. (0) | 2020.12.04 |