真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java中HashMap和Hashtable之間的區(qū)別有哪些

小編給大家分享一下java中HashMap和Hashtable之間的區(qū)別有哪些,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

創(chuàng)新互聯(lián)建站主要從事成都做網(wǎng)站、成都網(wǎng)站設計、成都外貿(mào)網(wǎng)站建設、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務黑山,十載網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:13518219792

java中的HashMap和Hashtable示例

下面我們先通過示例來看看HashMap和Hashtable的區(qū)別。

HashMap和Hashtable將鍵/值對存儲在哈希表中。當使用Hashtable或HashMap時,我們指定一個用作鍵的對象,以及要鏈接到該鍵的值。然后對該鍵進行哈希處理,得到的哈希(散列)代碼將用作表中存儲值的索引。

java代碼:

import java.util.*; 
import java.lang.*; 
import java.io.*; 
  
/* 只有當類是公共的時,類的名稱才必須是“main” */
class Ideone 
{ 
    public static void main(String args[]) 
    { 
        //----------hashtable ------------------------- 
        Hashtable ht=new Hashtable(); 
        ht.put(100,"Amit"); 
        ht.put(104,"Amit");  
        ht.put(101,"Vijay"); 
        ht.put(102,"Rahul"); 
        System.out.println("-------------Hash table--------------"); 
        for (Map.Entry m:ht.entrySet()) { 
            System.out.println(m.getKey()+" "+m.getValue()); 
        } 
  
        //----------------hashmap-------------------------------- 
        HashMap hm=new HashMap(); 
        hm.put(100,"Amit"); 
        hm.put(104,"Amit");  // hashmap 允許重復值
        hm.put(101,"Vijay"); 
        hm.put(102,"Rahul"); 
        System.out.println("-----------Hash map-----------"); 
        for (Map.Entry m:hm.entrySet()) { 
            System.out.println(m.getKey()+" "+m.getValue()); 
        } 
    } 
}

輸出:

java中HashMap和Hashtable之間的區(qū)別有哪些

HashMap和Hashtable之間的區(qū)別

1、HashMap是非同步的,不是線程安全的,如果沒有正確的同步代碼,則無法在多個線程之間共享;而Hashtable是同步的,是線程安全的,可以與許多線程共享。

注:如果不需要線程同步,HashMap通常優(yōu)于Hashtable。

2、HashMap允許一個null鍵和多個null值,而Hashtable不允許任何null鍵或值。

3、hashmap實現(xiàn)linkedhashmap維護插入順序,treemap根據(jù)鍵的升序?qū)τ成溥M行排序。而hashtable不能保證任何類型的順序;它不會以任何特定的順序維護映射。

4、HashMap是繼承自AbstractMap類,而HashTable是繼承自Dictionary類。

5、Hashtable默認的初始容量為11,之后每次擴充,容量就變?yōu)樵瓉淼?n+1;而,HashMap默認的初始容量大小為16,之后每次擴充,容量就變?yōu)樵瓉淼?倍。

6、計算hash值的方法不同

7、HashMap的迭代器是fail-fast機制的,而Hashtable的迭代器不是fail-fast機制的。

看完了這篇文章,相信你對java中HashMap和Hashtable之間的區(qū)別有哪些有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


文章題目:java中HashMap和Hashtable之間的區(qū)別有哪些
標題鏈接:http://weahome.cn/article/jpdpih.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部