激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - java HashMap和HashTable的區別詳解

java HashMap和HashTable的區別詳解

2020-07-18 13:44java教程網 Java教程

這篇文章主要介紹了java HashMap和HashTable的區別詳解的相關資料,需要的朋友可以參考下

  HashMapHashTable,這二者的區別經常被別人問起,今天在此總結一下。

(一)繼承的歷史不同

java" id="highlighter_509819">
?
1
2
public class Hashtable extends Dictionary implements Map
public class HashMap extends AbstractMap implements Map

    Hashtable是繼承自Dictionary類的,而HashMap則是Java 1.2引進的Map接口的一個實現。

(二)安全性不同

    HashMap是非synchronized,而HashTable在默認的情況下是synchronized,這意味著HashTable是線程安全的,多個線程可以共享一個HashTable;而如果沒有正確的同步的話,多個線程是不能共享HashMap的。Java 5以后提供了ConcurrentHashMap,它是HashTable的替代,比HashTable的擴展性更好。當然,我們可以通過以下方法讓HashMap同步:

?
1
Map m = Collections.synchronizeMap(hashMap);

(三)是否可為空值的異同

    HashMap可以讓你將空值作為一個表條目的key或value。HashMap中只有一條記錄可以是一個空的key,但任意數量的條目可以是空的value。這就是說,如果在表中沒有發現搜索鍵,或者如果發現了搜索鍵,但它是一個空的值,那么get()將返回null;而HashTable則不行,key和value都不允許出現null值。

(四)二者的遍歷方式的內部實現上不同

    Hashtable、HashMap都使用了 Iterator迭代器,HashMap的迭代器(Iterator)是fail-fast迭代器,而HashTable的enumerator迭代器不是fail-fast的。而由于歷史原因,Hashtable還使用了Enumeration的方式 。

(五)哈希值的使用不同

    HashTable直接使用對象的hashCode,而HashMap則需要重新計算hash值。

(六)二者內部實現方式的數組的初始大小和擴容的方式不同

    HashTable中hash數組默認大小是11,增加的方式是 old*2+1;HashMap中hash數組的默認大小是16,而且一定是2的指數。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

原文鏈接:http://blog.csdn.net/mynameishuangshuai/article/details/52748731

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 男女一边摸一边做羞羞视频免费 | 91精品一区二区综合在线 | 斗破苍穹在线免费 | 久久狠狠高潮亚洲精品 | 日韩视频观看 | 欧美另类激情 | 在线成人免费视频 | 一级外国毛片 | 日韩高清电影 | 欧美激情视频一区二区免费 | 久久久资源网 | 91免费版在线 | 免费黄色入口 | 欧美成人精品欧美一级乱黄 | 一区二区久久精品66国产精品 | 男女一边摸一边做羞羞视频免费 | 国产一区二区三区在线免费观看 | 国产99久久精品一区二区300 | 欧美精品第1页 | japanese xxxxhd | 亚洲日韩中文字幕一区 | 成人毛片免费播放 | 成人短视频在线观看免费 | 九九午夜视频 | 黄色免费网站在线观看 | 亚洲va国产va | 久久人人爽人人爽人人片av高清 | 欧美爱爱一区二区 | 国产在线精品一区二区三区 | 超碰97最新 | 欧美 亚洲 激情 | 黄色视品 | 国产亚洲精彩视频 | 夜夜夜影院 | 中文字幕偷拍 | 久久久久一区二区三区 | 亚洲一区中文字幕 | 成人不卡一区二区 | 免费日韩片| 色阁阁69婷婷 | 一级黄色免费观看视频 |