<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Gay Bird

    登高者必自卑,行遠(yuǎn)者必自邇,在這個(gè)世界上,重要的不是你正站在那里,而是你正朝什么方向移動......

    Hashtable和HashMap的區(qū)別

    1.Hashtable是Dictionary的子類,HashMap是Map接口的一個(gè)實(shí)現(xiàn)類;
    2.Hashtable中的方法是同步的,而HashMap中的方法在缺省情況下是非同步的。即是說,在多線程應(yīng)用程序中,不用專門的操作就安全地可以使用Hashtable了;而對于HashMap,則需要額外的同步機(jī)制。但HashMap的同步問題可通過Collections的一個(gè)靜態(tài)方法得到解決:
    Map Collections.synchronizedMap(Map m)
    這個(gè)方法返回一個(gè)同步的Map,這個(gè)Map封裝了底層的HashMap的所有方法,使得底層的HashMap即使是在多線程的環(huán)境中也是安全的。
    3.在HashMap中,null可以作為鍵,這樣的鍵只有一個(gè);可以有一個(gè)或多個(gè)鍵所對應(yīng)的值為null。當(dāng)get()方法返回null值時(shí),即可以表示HashMap中沒有該鍵,也可以表示該鍵所對應(yīng)的值為null。因此,在HashMap中不能由get()方法來判斷HashMap中是否存在某個(gè)鍵,而應(yīng)該用containsKey()方法來判斷。

    4.HashTable使用Enumeration,HashMap使用Iterator。


    以上只是表面的不同,它們的實(shí)現(xiàn)也有很大的不同。



    5.HashTable中hash數(shù)組默認(rèn)大小是11,增加的方式是 old*2+1。HashMap中hash數(shù)組的默認(rèn)大小是16,而且一定是2的指數(shù)。



    6.哈希值的使用不同,HashTable直接使用對象的hashCode,代碼是這樣的:
    int hash = key.hashCode();
    int index = (hash & 0x7FFFFFFF) % tab.length;
    而HashMap重新計(jì)算hash值,而且用與代替求模:
    int hash = hash(k);
    int i = indexFor(hash, table.length);

    static int hash(Object x) {
      int h = x.hashCode();



      h += ~(h << 9);
      h ^= (h >>> 14);
      h += (h << 4);
      h ^= (h >>> 10);
      return h;
    }
    static int indexFor(int h, int length) {
      return h & (length-1);
    }

    posted on 2008-09-19 22:18 Sky Yi 閱讀(398) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    主站蜘蛛池模板: 亚洲?v无码国产在丝袜线观看 | 亚洲国产成人久久综合一| 偷自拍亚洲视频在线观看99| 国国内清清草原免费视频99| 777亚洲精品乱码久久久久久 | 亚洲阿v天堂在线2017免费| 亚洲人成电影网站色| 成年女人免费视频播放77777 | 亚洲欧洲日产国产最新| 五月婷婷在线免费观看| 亚洲乱码一区av春药高潮| 91人成网站色www免费下载| 亚洲综合精品香蕉久久网97| 无码国产精品一区二区免费16| 久久亚洲成a人片| 最近中文字幕mv免费高清在线| 99久久亚洲精品无码毛片| 国产在线jyzzjyzz免费麻豆| 亚洲三级视频在线观看| 国内免费高清在线观看| 色欲色欲天天天www亚洲伊| 亚洲福利中文字幕在线网址| 一级毛片无遮挡免费全部| 国产亚洲精品成人AA片新蒲金| baoyu122.永久免费视频| 亚洲天天在线日亚洲洲精| 无码精品A∨在线观看免费| 亚洲欧美日韩自偷自拍| 亚洲第一黄片大全| 午夜免费啪视频在线观看 | 亚洲一区二区三区免费观看| 亚洲另类春色国产精品| 凹凸精品视频分类国产品免费| 你懂的在线免费观看| 亚洲码一区二区三区| 成人伊人亚洲人综合网站222| 国产又黄又爽又大的免费视频| 亚洲欧洲国产经精品香蕉网| 又黄又爽的视频免费看| 国产午夜无码精品免费看| 亚洲永久网址在线观看|