国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 秭归县| 界首市| 高青县| 丰县| 若羌县| 类乌齐县| 杭州市| 元阳县| 南通市| 勃利县| 西昌市| 昆明市| 珲春市| 武穴市| 会同县| 宜章县| 嘉祥县| 海阳市| 武乡县| 万源市| 普陀区| 东乡族自治县| 牙克石市| 金乡县| 岳普湖县| 如皋市| 乌审旗| 清流县| 青阳县| 泌阳县| 紫金县| 凭祥市| 鹤山市| 信丰县| 遂川县| 谢通门县| 集安市| 万载县| 德清县| 綦江县| 蓝山县|