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

大龍的博客

常用鏈接

統(tǒng)計

最新評論

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

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

一般情況下,我們用的最多的是HashMap,HashMap里面存入的鍵值對在取出的時候是隨機的,它根據(jù)鍵的HashCode值存儲數(shù)據(jù),根據(jù)鍵可以直接獲取它的值,具有很快的訪問速度。在Map 中插入、刪除和定位元素,HashMap 是最好的選擇。
TreeMap取出來的是排序后的鍵值對。但如果您要按自然順序或自定義順序遍歷鍵,那么TreeMap會更好。
LinkedHashMap 是HashMap的一個子類,如果需要輸出的順序和輸入的相同,那么用LinkedHashMap可以實現(xiàn),它還可以按讀取順序來排列,像連接池中可以應(yīng) 用。以下代碼實例可以看出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無序輸出------");  
  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無序輸出------  
  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 大龍 閱讀(471) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   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>
            国产伦精品一区二区三区视频黑人| 亚洲自拍电影| 国产一区二区三区久久久| 亚洲国产裸拍裸体视频在线观看乱了中文 | 亚洲一区视频在线| 美国十次成人| 韩国精品久久久999| 久久精品日韩| 校园激情久久| 国产一区二区三区av电影| 欧美影院视频| 欧美专区福利在线| 在线观看av不卡| 蜜臀久久久99精品久久久久久| 欧美一级视频| 黄色成人在线| 免费不卡在线视频| 麻豆av一区二区三区| 亚洲国产一区二区精品专区| 亚洲高清资源综合久久精品| 久久视频精品在线| 亚洲人成网站精品片在线观看| 亚洲国产另类精品专区| 欧美日韩在线观看一区二区| 这里只有精品视频| 亚洲欧美欧美一区二区三区| 国产专区综合网| 欧美电影在线| 欧美三级视频| 久久精品九九| 欧美成人免费全部| 亚洲在线观看免费| 久久国产99| 亚洲精选一区二区| 亚洲午夜精品福利| 激情综合色综合久久综合| 亚洲国产精品999| 欧美日韩亚洲一区三区| 久久国产精品一区二区三区四区| 久久先锋资源| 亚洲永久在线| 美女视频一区免费观看| 亚洲一级片在线观看| 欧美一区二区三区久久精品茉莉花| 亚洲电影激情视频网站| 99精品热视频只有精品10| 国产一区二区三区黄| 亚洲国产中文字幕在线观看| 国产精品久久久久免费a∨| 男人插女人欧美| 欧美日本在线视频| 亚洲欧美卡通另类91av| 性欧美videos另类喷潮| 噜噜噜噜噜久久久久久91| 免费人成精品欧美精品| 在线免费观看一区二区三区| 久久一区二区三区四区五区| 午夜欧美理论片| 国产日韩av一区二区| 欧美在线中文字幕| 欧美一区二区视频观看视频| 国产精品亚洲综合一区在线观看| 一本大道久久a久久精二百| 老司机免费视频一区二区| 欧美影院午夜播放| 国产在线一区二区三区四区 | 午夜精品久久久久影视| 国产精品成人av性教育| 亚洲一区亚洲| 亚洲女人小视频在线观看| 国产精品专区h在线观看| 欧美一区二区三区的| 亚洲永久免费精品| 韩国视频理论视频久久| 欧美99久久| 欧美精品久久天天躁| 日韩视频在线观看一区二区| 99re66热这里只有精品3直播| 国产精品成人aaaaa网站| 久久激情五月丁香伊人| 久久深夜福利| 中文在线不卡视频| 亚洲欧美日韩专区| 一区视频在线播放| 亚洲精品视频啊美女在线直播| 欧美激情一二区| 亚洲女ⅴideoshd黑人| 欧美一区二视频在线免费观看| 有码中文亚洲精品| 亚洲三级电影全部在线观看高清| 欧美日韩亚洲综合| 久久久视频精品| 欧美精品久久久久久久| 久久久久高清| 欧美精品九九99久久| 久久久一区二区| 欧美国产日韩一区二区三区| 欧美一级在线视频| 久久综合狠狠综合久久综合88| 制服丝袜亚洲播放| 久久精品国产精品亚洲| 国产精品视频观看| 亚洲国产精品123| 国产女人aaa级久久久级| 91久久久国产精品| 国内精品久久久| 亚洲欧美久久久| 免费h精品视频在线播放| 亚洲黑丝在线| 亚洲精品中文在线| 欧美日韩精品一区二区在线播放 | 欧美一级片一区| 欧美sm重口味系列视频在线观看| 亚洲欧美韩国| 欧美日韩国产欧| 免费人成网站在线观看欧美高清| 国产精品大片wwwwww| 欧美福利电影在线观看| 国产视频一区在线观看一区免费| 亚洲精品一区在线| 亚洲精品一区二区三区婷婷月| 欧美伊久线香蕉线新在线| 亚洲欧美日韩区 | 亚洲韩国一区二区三区| 欧美一级在线视频| 欧美亚洲视频一区二区| 欧美精品一区在线观看| 亚洲激情国产精品| 在线观看亚洲一区| 欧美一区二区在线看| 欧美一区二区高清在线观看| 国产精品xnxxcom| 亚洲精品欧美精品| 亚洲最新视频在线播放| 欧美护士18xxxxhd| 亚洲日本中文| 亚洲无亚洲人成网站77777| 欧美日韩1080p| 亚洲国产日韩欧美在线图片| 亚洲区国产区| 欧美精品系列| 在线综合视频| 亚洲欧美国产日韩中文字幕| 国产九区一区在线| 亚洲欧美在线一区| 久久一区二区精品| 亚洲第一福利视频| 欧美成人一区二免费视频软件| 免费视频一区| 亚洲精品永久免费| 欧美理论视频| 亚洲天堂免费观看| 欧美一区二区三区视频在线 | 伊人春色精品| 老鸭窝亚洲一区二区三区| 亚洲电影视频在线| 亚洲精品一区二区三| 欧美日韩综合在线免费观看| 亚洲综合色网站| 久久这里只有| 亚洲日本理论电影| 国产精品久久久久婷婷| 欧美亚洲综合在线| 亚洲国产精品一区二区尤物区| 亚洲美女av黄| 国产美女诱惑一区二区| 久久久久久久久蜜桃| 国产精品99久久不卡二区| 亚洲一区二区三区中文字幕| 久久琪琪电影院| 亚洲国产成人av| 欧美日韩在线观看一区二区三区| 欧美激情一区二区| 欧美成人国产va精品日本一级| 午夜精品一区二区三区四区| 国产精品国产三级国产aⅴ入口| 久久精品亚洲一区二区三区浴池| 亚洲高清视频在线观看| 欧美在线观看一区二区三区| 国语自产偷拍精品视频偷 | 久久精品国产视频| 亚洲国产精品激情在线观看| 亚洲欧美日韩在线播放| 在线成人激情视频| 国产精品免费一区豆花| 女同一区二区| 欧美在线国产精品| 日韩午夜av电影| 欧美国产精品劲爆| 欧美一区二区三区在线| 在线亚洲一区观看| 在线成人免费观看| 国产亚洲一区二区在线观看| 欧美日韩国产影片| 久久尤物视频| 性高湖久久久久久久久| 亚洲一区二区三区乱码aⅴ| 亚洲人成高清| 欧美激情一区二区久久久| 久久久久久久999精品视频|