国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

HashMap 和 Hashtable 的區(qū)別

2019-11-08 18:49:27
字體:
供稿:網(wǎng)友
就 HashMap 與 HashTable 主要從三方面來說。
一 . 歷史原因 :Hashtable 是基于陳舊的 Dictionary 類的, HashMap 是 java 1.2 引進(jìn)的 Map 接口的一個       實(shí)現(xiàn)。二 . 同步性 :Hashtable 是線程安全的,也就是說是同步的,而 HashMap 是線程序不安全的,不是同步的。

三 . 值:只有 HashMap 可以讓你將空值作為一個表的條目的 key 或 value。

四 .  HashMap 是 Hashtable 的輕量級實(shí)現(xiàn)(非線程安全的實(shí)現(xiàn)) ,他們都完成了 Map 接口,主要區(qū)別       在于 HashMap 允許空( null )鍵值( key ) , 由于非線程安全,效率上可能高于 Hashtable 。       HashMap 允許將 null 作為一個 entry 的 key 或者 value ,而 Hashtable 不允許。       HashMap 把 Hashtable 的 contains 方法去掉了,改成 containsvalue 和 containsKey 。       因?yàn)?contains 方法容易讓人引起誤解。

       Hashtable 繼承自 Dictionary 類,而 HashMap 是 Java1.2 引進(jìn)的 Map interface 的一個實(shí)現(xiàn)。最大的不同是, Hashtable 的方法是 Synchronize 的,而 HashMap 不是,在多個線程訪問Hashtable 時,不需要自己為它的方法實(shí)現(xiàn)同步,而 HashMap 就必須為之提供外同步。Hashtable 和 HashMap 采用的 hash/rehash 算法都大概一樣,所以性能不會有很大的差異。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 开远市| 阳信县| 澜沧| 抚州市| 马鞍山市| 香格里拉县| 灌阳县| 宁远县| 芦山县| 凌源市| 清涧县| 嘉义市| 安泽县| 清流县| 崇仁县| 台南县| 清镇市| 大安市| 夏津县| 疏附县| 筠连县| 刚察县| 灵寿县| 寻乌县| 普格县| 聂荣县| 彰武县| 罗田县| 巴楚县| 新巴尔虎左旗| 铜山县| 海兴县| 理塘县| 合川市| 冀州市| 长宁县| 大关县| 定边县| 介休市| 台东县| 玛曲县|