青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

大龍的博客

常用鏈接

統(tǒng)計(jì)

最新評(píng)論

java中HashMap,LinkedHashMap,TreeMap,HashTable的區(qū)別

java為數(shù)據(jù)結(jié)構(gòu)中的映射定義了一個(gè)接口java.util.Map;它有四個(gè)實(shí)現(xiàn)類,分別是HashMap Hashtable LinkedHashMap 和TreeMap
Map主要用于存儲(chǔ)健值對(duì),根據(jù)鍵得到值,因此不允許鍵重復(fù)(重復(fù)了覆蓋了),但允許值重復(fù)。
Hashmap 是一個(gè)最常用的Map,它根據(jù)鍵的HashCode 值存儲(chǔ)數(shù)據(jù),根據(jù)鍵可以直接獲取它的值,具有很快的訪問(wèn)速度,遍歷時(shí),取得數(shù)據(jù)的順序是完全隨機(jī)的。HashMap最多只允許一條記錄的鍵為Null;允 許多條記錄的值為 Null;HashMap不支持線程的同步,即任一時(shí)刻可以有多個(gè)線程同時(shí)寫(xiě)HashMap;可能會(huì)導(dǎo)致數(shù)據(jù)的不一致。如果需要同步,可以用 Collections的synchronizedMap方法使HashMap具有同步的能力,或者使用ConcurrentHashMap。
Hashtable與 HashMap類似,它繼承自Dictionary類,不同的是:它不允許記錄的鍵或者值為空;它支持線程的同步,即任一時(shí)刻只有一個(gè)線程能寫(xiě)Hashtable,因此也導(dǎo)致了 Hashtable在寫(xiě)入時(shí)會(huì)比較慢。
LinkedHashMap保存了記錄的插入順序,在用Iterator遍歷LinkedHashMap時(shí),先得到的記錄肯定是先插入的.也可以 在構(gòu)造時(shí)用帶參數(shù),按照應(yīng)用次數(shù)排序。在遍歷的時(shí)候會(huì)比HashMap慢,不過(guò)有種情況例外,當(dāng)HashMap容量很大,實(shí)際數(shù)據(jù)較少時(shí),遍歷起來(lái)可能會(huì) 比LinkedHashMap慢,因?yàn)長(zhǎng)inkedHashMap的遍歷速度只和實(shí)際數(shù)據(jù)有關(guān),和容量無(wú)關(guān),而HashMap的遍歷速度和他的容量有關(guān)。
TreeMap實(shí)現(xiàn)SortMap接口,能夠把它保存的記錄根據(jù)鍵排序,默認(rèn)是按鍵值的升序排序,也可以指定排序的比較器,當(dāng)用Iterator 遍歷TreeMap時(shí),得到的記錄是排過(guò)序的。

一般情況下,我們用的最多的是HashMap,HashMap里面存入的鍵值對(duì)在取出的時(shí)候是隨機(jī)的,它根據(jù)鍵的HashCode值存儲(chǔ)數(shù)據(jù),根據(jù)鍵可以直接獲取它的值,具有很快的訪問(wèn)速度。在Map 中插入、刪除和定位元素,HashMap 是最好的選擇。
TreeMap取出來(lái)的是排序后的鍵值對(duì)。但如果您要按自然順序或自定義順序遍歷鍵,那么TreeMap會(huì)更好。
LinkedHashMap 是HashMap的一個(gè)子類,如果需要輸出的順序和輸入的相同,那么用LinkedHashMap可以實(shí)現(xiàn),它還可以按讀取順序來(lái)排列,像連接池中可以應(yīng) 用。以下代碼實(shí)例可以看出HashMap,LinkedHashMap,TreeMap的區(qū)別:
Java代碼  收藏代碼
  1. package ceshi;  
  2. import java.util.HashMap;  
  3. import java.util.Iterator;  
  4. import java.util.LinkedHashMap;  
  5. import java.util.Map;  
  6. import java.util.TreeMap;  
  7. public class Ceshi{  
  8. @SuppressWarnings("unchecked")  
  9. public static void main(String[] args) {  
  10.   
  11. //HashMap  
  12. System.out.println("------HashMap無(wú)序輸出------");  
  13. HashMap hsMap=new HashMap();  
  14. hsMap.put("3", "Value3");  
  15. hsMap.put("1", "Value1");  
  16. hsMap.put("2", "Value2");  
  17. hsMap.put("b", "ValueB");  
  18. hsMap.put("a", "ValueA");  
  19. Iterator it = hsMap.entrySet().iterator();  
  20. while (it.hasNext()) {  
  21. Map.Entry e = (Map.Entry) it.next();  
  22. System.out.println("Key: " + e.getKey() + "--Value: "  
  23. + e.getValue());  
  24. }  
  25.   
  26. //TreeMap  
  27. System.out.println("------TreeMap按Key排序輸出------");  
  28. TreeMap teMap=new TreeMap();  
  29. teMap.put("3", "Value3");  
  30. teMap.put("1", "Value1");  
  31. teMap.put("2", "Value2");  
  32. teMap.put("b", "ValueB");  
  33. teMap.put("a", "ValueA");  
  34. Iterator tit = teMap.entrySet().iterator();  
  35. while (tit.hasNext()) {  
  36. Map.Entry e = (Map.Entry) tit.next();  
  37. System.out.println("Key: " + e.getKey() + "--Value: "  
  38. + e.getValue());  
  39. }  
  40.   
  41. //LinkedHashMap  
  42. System.out.println("--LinkedHashMap根據(jù)輸入的順序輸出--");  
  43. LinkedHashMap lhsMap=new LinkedHashMap();  
  44. lhsMap.put("3", "Value3");  
  45. lhsMap.put("1", "Value1");  
  46. lhsMap.put("2", "Value2");  
  47. lhsMap.put("b", "ValueB");  
  48. lhsMap.put("a", "ValueA");  
  49. Iterator lit = lhsMap.entrySet().iterator();  
  50. while (lit.hasNext()) {  
  51. Map.Entry e = (Map.Entry) lit.next();  
  52. System.out.println("Key: " + e.getKey() + "--Value: "  
  53. + e.getValue());  
  54. }  
  55. }  
  56.   
  57. }  
  58.   
  59. 執(zhí)行結(jié)果為:  
  60. ------HashMap無(wú)序輸出------  
  61. Key: 3--Value: Value3  
  62. Key: 2--Value: Value2  
  63. Key: 1--Value: Value1  
  64. Key: b--Value: ValueB  
  65. Key: a--Value: ValueA  
  66. ------TreeMap按Key排序輸出------  
  67. Key: 1--Value: Value1  
  68. Key: 2--Value: Value2  
  69. Key: 3--Value: Value3  
  70. Key: a--Value: ValueA  
  71. Key: b--Value: ValueB  
  72. --LinkedHashMap根據(jù)輸入的順序輸出--  
  73. Key: 3--Value: Value3  
  74. Key: 1--Value: Value1  
  75. Key: 2--Value: Value2  
  76. Key: b--Value: ValueB  
  77. Key: a--Value: ValueA 

posted on 2012-08-16 17:57 大龍 閱讀(470) 評(píng)論(0)  編輯 收藏 引用


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久综合中文| 欧美日韩亚洲一区二区三区在线观看| 久久经典综合| 亚洲一区日韩在线| 亚洲欧美日韩视频一区| 性欧美暴力猛交69hd| 久久久久久一区| 欧美国产精品劲爆| 日韩小视频在线观看专区| 艳妇臀荡乳欲伦亚洲一区| 欧美91大片| 美女免费视频一区| 亚洲精品在线一区二区| 宅男噜噜噜66国产日韩在线观看| 国产精品99久久99久久久二8 | 免费不卡在线视频| 亚洲国产精品123| 麻豆av一区二区三区久久| 亚洲电影天堂av| 国产三区二区一区久久| 欧美ed2k| 国产模特精品视频久久久久| 亚洲第一页自拍| 午夜精品久久久久久久男人的天堂 | 亚洲免费影视第一页| 老司机精品视频一区二区三区| 欧美日韩在线电影| 亚洲第一区中文99精品| 香蕉久久国产| 亚洲精品久久久久久下一站 | 国产精品欧美久久| 国产美女诱惑一区二区| 亚洲激情二区| 久久久久久久一区| 国户精品久久久久久久久久久不卡| 久久久久久久高潮| 国产精品乱码一区二三区小蝌蚪| 在线成人欧美| 久久av二区| 中文国产成人精品| 欧美精品一区二区三区在线播放 | 久久综合99re88久久爱| 国产精品电影网站| 一本久道久久综合婷婷鲸鱼 | 亚洲午夜精品久久| 欧美大片在线看免费观看| 午夜精品影院| 国产精品丝袜白浆摸在线| 这里只有精品丝袜| 亚洲精品久久久久久一区二区| 久久久久亚洲综合| 国产午夜精品一区理论片飘花| 亚洲人在线视频| 99精品99久久久久久宅男| 日韩午夜电影| 国产一区导航| 久久久久久网站| 欧美一区国产一区| 国产亚洲欧美另类一区二区三区| 香蕉久久国产| 欧美在线亚洲一区| 精品av久久久久电影| 久久久www| 久久精品一区四区| 亚洲二区精品| 亚洲精品1区2区| 欧美日韩免费高清一区色橹橹| 欧美日韩国产123| 99在线热播精品免费| 日韩亚洲欧美成人一区| 欧美日韩一区自拍| 午夜日韩av| 久久爱www| 一二三四社区欧美黄| av成人老司机| 国产乱码精品一区二区三区五月婷 | 亚洲靠逼com| 欧美日韩国产精品一区二区亚洲 | 91久久精品一区二区别| 欧美日韩一区二区三区高清| 最新高清无码专区| 日韩亚洲在线| 午夜精品福利视频| 激情一区二区| 最新亚洲一区| 国产女人精品视频| 欧美wwwwww| 国产精品高精视频免费| 久色成人在线| 亚洲国产欧美日韩| 亚洲精品字幕| 国内精品久久久久国产盗摄免费观看完整版 | 国产精品久久久久久一区二区三区 | 国产精品久久久久9999高清 | 亚洲另类春色国产| 久久久久久久久一区二区| 日韩系列欧美系列| 国产视频一区在线观看| 久久黄色影院| 国产精品久久久久一区二区三区| 欧美中文在线免费| 免费成人av| 久久精品91久久香蕉加勒比| 性做久久久久久久免费看| 99xxxx成人网| 久久久av网站| 亚洲欧美另类中文字幕| 美女脱光内衣内裤视频久久影院| 亚洲免费影视| 免费视频最近日韩| 久久九九热re6这里有精品| 欧美人成网站| 欧美大片免费观看| 国产午夜精品美女视频明星a级 | 亚洲电影激情视频网站| 国产精品久久久久婷婷| 欧美成人69| 国产日韩精品综合网站| 国产在线拍偷自揄拍精品| 一区二区日韩免费看| 玖玖玖免费嫩草在线影院一区| 午夜精品国产更新| 欧美日韩国产一区二区三区| 欧美+日本+国产+在线a∨观看| 狠狠噜噜久久| 亚洲精品国精品久久99热一| 美女黄色成人网| 性做久久久久久免费观看欧美| 玖玖综合伊人| 久久亚洲国产成人| 国产日本欧美一区二区三区在线| 一本色道久久综合| 日韩午夜免费| 欧美激情成人在线视频| 欧美粗暴jizz性欧美20| 亚洲欧美日本另类| 欧美亚洲在线| 国产亚洲永久域名| 欧美一级免费视频| 欧美一区视频| 国产乱肥老妇国产一区二| 亚洲午夜日本在线观看| 亚洲一区二区三区免费观看| 在线精品视频免费观看| 麻豆精品网站| 亚洲精品在线免费观看视频| 亚洲视频网在线直播| 久久看片网站| 蜜臀91精品一区二区三区| 国语自产精品视频在线看一大j8 | 亚洲欧洲综合另类| 亚洲激情第一区| 欧美日韩国产在线播放网站| 久久夜色精品一区| 欧美日韩一二三四五区| 亚洲视频1区2区| 国产精品理论片在线观看| 欧美亚洲视频在线看网址| 久久久久亚洲综合| 亚洲国产视频一区二区| 欧美日韩精品一区二区| 在线视频欧美日韩精品| 久久久免费精品视频| 亚洲在线观看免费| 国产在线拍偷自揄拍精品| 欧美a级在线| 亚洲在线视频免费观看| 免费在线视频一区| 亚洲夜晚福利在线观看| 国产一区自拍视频| 欧美精选在线| 久久国产精品久久久久久久久久| 欧美国产视频日韩| 亚洲欧美综合网| 亚洲欧洲综合| 国产欧美一区二区色老头| 欧美成人综合网站| 午夜亚洲伦理| 亚洲免费成人av| 免费看的黄色欧美网站| 亚洲午夜小视频| 美女国产精品| 欧美一级视频免费在线观看| 亚洲欧洲另类国产综合| 久久精品日韩欧美| 亚洲小说区图片区| 亚洲高清123| 国产日韩精品视频一区二区三区| 女生裸体视频一区二区三区| 国产资源精品在线观看| 久久天天躁狠狠躁夜夜av| 亚洲精品女av网站| 亚洲三级电影全部在线观看高清| 国产精品乱人伦一区二区| 欧美国产极速在线| 久久人人97超碰人人澡爱香蕉| 亚洲永久视频| 亚洲少妇自拍| 亚洲精品国产精品乱码不99按摩| 久久综合色88|