被黑人巨鞭大战中国人妻视频,黑人大群体交免费视频,一群黑人大战亚裔女在线播放

<p id="inimk"><form id="inimk"></form></p>
  1. <track id="inimk"></track>

  2. <td id="inimk"><ruby id="inimk"></ruby></td>
    1. Hashtable和HashMap的區別

      時間 : 2020-08-07
      點擊次數 : 901

            相同點:

            hashmap和Hashtable都實現了map接口

            底層數據結構都是數組+鏈表

            不同點:

            Hashtable 是不允許鍵或值為 null 的,HashMap 的鍵值則都可以為 null。

            添加key-value的hash值算法不同:HashMap添加元素時,是使用自定義的哈希算法,而HashTable是直接采用key的hashCode()

            實現方式不同:Hashtable 繼承的是 Dictionary類,而 HashMap 繼承的是 AbstractMap 類。

            初始化容量不同:HashMap 的初始容量為:16,Hashtable 初始容量為:11,兩者的負載因子默認都是:0.75。

            擴容機制不同:當已用容量>總容量 * 負載因子時,HashMap 擴容規則為當前容量翻倍,Hashtable 擴容規則為當前容量翻倍 +1。

            支持的遍歷種類不同:HashMap只支持Iterator遍歷,而HashTable支持Iterator和Enumeration兩種方式遍歷

            迭代器不同:HashMap的迭代器(Iterator)是fail-fast迭代器,而Hashtable的enumerator迭代器不是fail-fast的。所以當有其它線程改變了HashMap的結構(增加或者移除元素),將會拋出ConcurrentModificationException,但迭代器本身的remove()方法移除元素則不會拋出ConcurrentModificationException異常。但這并不是一個一定發生的行為,要看JVM。而Hashtable 則不會。

            部分API不同:HashMap不支持contains(Object value)方法,沒有重寫toString()方法,而HashTable支持contains(Object value)方法,而且重寫了toString()方法

            同步性不同: Hashtable是同步(synchronized)的,適用于多線程環境,

            而hashmap不是同步的,適用于單線程環境。多個線程可以共享一個Hashtable;而如果沒有正確的同步的話,多個線程是不能共享HashMap的。

            由于Hashtable是線程安全的也是synchronized,所以在單線程環境下它比HashMap要慢。如果你不需要同步,只需要單一線程,那么使用HashMap性能要好過Hashtable。

      上一篇:sqlmap的使用方法

      上一篇:京東健康進入發展快車道 獲資本市場關注與認可

      友情鏈接:云聯泰達OA開發
      煙臺網云網絡科技有限公司 魯ICP備14027327號-3

      回到頂部
      被黑人巨鞭大战中国人妻视频,黑人大群体交免费视频,一群黑人大战亚裔女在线播放
      我和亲妺作爱 妺妺下面好湿,我半夜摸妺妺的下面好爽下载,国产我和亲妺作爱视频| 午夜性刺激免费看视频,免费午夜无码片在线观看影院,午夜性刺激在线看免费视频| 美女裸体视频免费观看的网站,国产裸拍裸体视频在线观看,美女裸体无遮挡免费网站在线观看