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

大龍的博客

常用鏈接

統(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>
            99热在这里有精品免费| 欧美性色综合| 亚洲国产精品尤物yw在线观看| 久久国产精品99精品国产| 亚洲欧美春色| 国内激情久久| 欧美激情视频一区二区三区不卡| 欧美大片第1页| 亚洲特级毛片| 欧美在线啊v一区| 亚洲国产精品一区| 日韩视频免费观看高清完整版| 欧美日韩免费看| 久久久久久午夜| 欧美暴力喷水在线| 欧美一级专区免费大片| 久久午夜精品一区二区| 夜夜嗨av色综合久久久综合网| 中文一区二区| 在线日韩欧美| 亚洲深夜福利网站| 亚洲福利专区| 亚洲影院色无极综合| 黑人极品videos精品欧美裸| 亚洲激情av在线| 欧美三级资源在线| 美女精品国产| 国产精品久久一级| 欧美激情一区二区三区在线视频观看 | 欧美精品免费看| 久久久久久9999| 欧美视频在线观看免费| 免费短视频成人日韩| 国产精品午夜春色av| 亚洲国产三级在线| 在线观看欧美成人| 亚洲欧美日韩国产一区二区| 亚洲日韩视频| 久久免费视频这里只有精品| 日韩亚洲欧美在线观看| 久久亚洲视频| 欧美一区中文字幕| 欧美日韩中文字幕在线| 欧美激情女人20p| 韩国精品在线观看| 亚洲一区视频在线观看视频| 日韩视频不卡中文| 久久综合久色欧美综合狠狠 | 亚洲国产99精品国自产| 亚洲欧美日韩一区| 亚洲欧美日韩国产中文 | 香蕉亚洲视频| 亚洲欧美综合精品久久成人| 欧美精品二区| 亚洲三级国产| 亚洲精品国产精品国自产在线| 久久精品国产第一区二区三区最新章节 | 欧美不卡一区| 欧美成人一区二区在线 | 国产日韩在线看| 亚洲影视在线| 小处雏高清一区二区三区| 欧美日韩国产综合视频在线观看中文| 欧美成人一区二区三区片免费| 黄色免费成人| 麻豆亚洲精品| 亚洲国产二区| 中文欧美在线视频| 欧美色欧美亚洲另类七区| 99国产精品99久久久久久粉嫩 | 国内外成人免费激情在线视频 | 亚洲自拍偷拍麻豆| 久久精品国产2020观看福利| 国产区欧美区日韩区| 亚洲天堂激情| 久久精品水蜜桃av综合天堂| 国产欧美一区二区三区在线老狼 | 欧美人与禽猛交乱配| 亚洲精品久久久久中文字幕欢迎你| 日韩一本二本av| 欧美视频免费看| 亚洲在线播放| 久久精品国产久精国产思思| 在线看一区二区| 欧美激情视频一区二区三区在线播放| 亚洲福利一区| 在线亚洲免费视频| 国产欧美精品xxxx另类| 久久久亚洲高清| 日韩视频一区二区| 久久久久久久欧美精品| 亚洲欧洲精品一区二区三区不卡| 欧美日韩国产va另类| 欧美亚洲综合另类| 欧美成人午夜77777| 亚洲国产另类久久精品| 亚洲视频一区二区| 国产一区二区毛片| 欧美国产日韩一区二区| 宅男噜噜噜66一区二区| 美女视频一区免费观看| 亚洲无限乱码一二三四麻| 国产一区二区三区奇米久涩 | 欧美日韩999| 久久精品二区亚洲w码| 亚洲美女在线视频| 蜜臀久久99精品久久久久久9 | 欧美在线一二三区| 日韩一区二区精品在线观看| 久久久人成影片一区二区三区| 亚洲黄色片网站| 国产日韩亚洲欧美| 欧美日韩成人在线观看| 久久视频一区二区| 亚洲尤物在线| 99在线热播精品免费99热| 狼狼综合久久久久综合网| 午夜欧美不卡精品aaaaa| 亚洲精品一区二区网址| 国内揄拍国内精品久久| 国产欧美精品在线观看| 欧美日韩一区二区国产| 免费欧美日韩| 久久青青草原一区二区| 亚洲欧美在线一区二区| 亚洲精品美女久久久久| 欧美激情视频一区二区三区不卡| 久久久噜噜噜久久狠狠50岁| 午夜亚洲福利| 亚洲欧美一区二区在线观看| 99精品国产福利在线观看免费| 亚洲国产黄色片| 亚洲高清不卡在线| 影音先锋在线一区| 激情欧美丁香| 狠狠网亚洲精品| 亚洲成人在线视频播放| 精品999成人| 亚洲福利av| 亚洲国产精品一区二区第一页| 尹人成人综合网| 在线成人小视频| 亚洲第一区中文99精品| 亚洲第一天堂无码专区| 亚洲大胆视频| 亚洲精品小视频| 一本色道久久加勒比88综合| 亚洲欧洲在线一区| 日韩一区二区精品在线观看| 亚洲人成人一区二区三区| 亚洲人体1000| 亚洲综合色视频| 欧美在线观看视频一区二区| 久久激情婷婷| 免费在线欧美视频| 亚洲国产成人91精品| 亚洲精品一区二区网址| 亚洲视频免费在线观看| 欧美一区影院| 免费欧美在线视频| 欧美日韩一区二区在线观看| 国产精品视频久久久| 国户精品久久久久久久久久久不卡 | 国产午夜精品一区理论片飘花 | 欧美日精品一区视频| 国产精品爽爽ⅴa在线观看| 国产一本一道久久香蕉| 今天的高清视频免费播放成人| 亚洲国产美女久久久久| 一级成人国产| 久久久夜精品| 亚洲人成网站色ww在线| 亚洲永久免费av| 免费的成人av| 国产精品一二一区| 亚洲激情网站| 欧美影视一区| 亚洲国产国产亚洲一二三| 亚洲一区二区网站| 免费观看成人| 国产日韩欧美不卡在线| 亚洲看片网站| 久久乐国产精品| 在线视频免费在线观看一区二区| 久久久综合网| 国产乱码精品一区二区三区不卡| 在线免费观看日本欧美| 欧美一区二区观看视频| 亚洲欧洲一区二区在线播放| 性做久久久久久久久| 欧美日韩精品福利| 在线日韩精品视频| 久久精品一区中文字幕| 99精品久久久| 欧美成人在线免费视频| 国产中文一区二区| 欧美一区二区三区四区夜夜大片| 亚洲国产mv| 裸体素人女欧美日韩| 国产农村妇女精品一区二区|