簡體   English   中英

HashMap和字典ADT之間的區別

[英]Difference between a HashMap and a dictionary ADT

哈希映射和字典ADT有什么區別。 以及何時優先選擇另一個。 對於我的編程任務,我的教練要求使用其中一個,但是我看不出兩者之間有什么區別。 該程序應該與一個巨大的號。 的字符串。 有什么建議么?

在Java方面,無論是類HashMap和類Dictionary是“地圖”抽象數據類型的實現 抽象數據類型並非特定於任何一種編程語言,並且Map ADT也可以稱為Hash,Dictionary或Associative Array(其他參見http://en.wikipedia.org/wiki/Associative_array )。 (注意,我們在Dictionary類和Dictionary ADT之間進行了區分。)

Dictionary 已被標記為過時的,因此最好不要使用它。

這個Stack Overflow帖子很好地解釋了關鍵區別:

Java哈希圖與哈希表

請注意,哈希表只是字典ADT的實現。 另請注意,Java將字典視為“過時”

Hashtable已同步的事實並不能為您帶來很多好處。 使用HashMap。

在Java中,HashMap實現Map接口,而Dictionary不實現。 這使得Dictionary已過時(根據API文檔)。 也就是說,它們都具有相似的功能,因此您看上去它們非常相似是正確的……HashMap是一種字典。

但建議您使用HashMap。

Map是Java中ADT的接口,它是用於維護<key,value>對的相同的通用語言獨立數據結構 ,並在Java 1.2中引入。

字典(不是Map的實現)是一個Abstract類,其目的與JDK 1.0之前引入的目的相同。 它唯一的子類是Hashtable,它本身正在實現Map。 但是,Dictionary類現在已過時,您可能會忘記它。

Map和Dictionary的函數成員之間存在差異,但是您可能會發現HashMap和Hashtable之間的差異更有用。 在這里您可以找到差異。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM