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

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

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

    冰塊+java

    HashMap,LinkedHashMap,TreeMap,HashTable的區別

    java為數據結構中的映射定義了一個接口java.util.Map;它有四個實現類,分別是HashMap Hashtable LinkedHashMap 和TreeMap
    Map主要用于存儲健值對,根據鍵得到值,因此不允許鍵重復(重復了覆蓋了),但允許值重復。
    ----------------------------------------------------------------
    HashMap 是一個最常用的Map,它根據鍵的HashCode 值存儲數據,根據鍵可以直接獲取它的值,具有很快的訪問速度,遍歷時,取得數據的順序是完全隨機的。HashMap最多只允許一條記錄的鍵為Null;允許多條記錄的值為 Null;
    HashMap不支持線程的同步,即任一時刻可以有多個線程同時寫HashMap;可能會導致數據的不一致。如果需要同步,可以用 Collections的synchronizedMap方法使HashMap具有同步的能力,或者使用ConcurrentHashMap。
    -----------------------------------------------------------------
    Hashtable與 HashMap類似,它繼承自Dictionary類,不同的是:它不允許記錄的鍵或者值為空;它支持線程的同步,即任一時刻只有一個線程能寫Hashtable,因此也導致了 Hashtable在寫入時會比較慢。
    -----------------------------------------------------------------
    LinkedHashMap保存了記錄的插入順序,在用Iterator遍歷LinkedHashMap時,先得到的記錄肯定是先插入的.也可以在構造時用帶參數,按照應用次數排序。在遍歷的時候會比HashMap慢,不過有種情況例外,當HashMap容量很大,實際數據較少時,遍歷起來可能會比LinkedHashMap慢,因為LinkedHashMap的遍歷速度只和實際數據有關,和容量無關,而HashMap的遍歷速度和他的容量有關。
    -----------------------------------------------------------------
    TreeMap實現SortMap接口,能夠把它保存的記錄根據鍵排序,默認是按鍵值的升序排序,也可以指定排序的比較器,當用Iterator 遍歷TreeMap時,得到的記錄是排過序的。
    ------------------------------------------------------------------------------------------
    總結:
    一般情況下,我們用的最多的是HashMap,HashMap里面存入的鍵值對在取出的時候是隨機的,它根據鍵的HashCode值存儲數據,根據鍵可以直接獲取它的值,具有很快的訪問速度。在Map 中插入、刪除和定位元素,HashMap 是最好的選擇。
    TreeMap取出來的是排序后的鍵值對。但如果您要按自然順序或自定義順序遍歷鍵,那么TreeMap會更好。
    LinkedHashMap 是HashMap的一個子類,如果需要輸出的順序和輸入的相同,那么用LinkedHashMap可以實現,它還可以按讀取順序來排列,像連接池中可以應用。

    posted on 2011-10-21 09:58 iceblock 閱讀(977) 評論(0)  編輯  收藏 所屬分類: JAVA基礎


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


    網站導航:
     

    導航

    <2011年10月>
    2526272829301
    2345678
    9101112131415
    16171819202122
    23242526272829
    303112345

    統計

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产成人免费a在线资源| 久久不见久久见中文字幕免费| 免费在线观看日韩| 亚洲人xxx日本人18| 91香蕉成人免费网站| 亚洲免费中文字幕| 动漫黄网站免费永久在线观看| 亚洲一区二区三区在线观看蜜桃 | 日韩中文字幕精品免费一区| 亚洲精品91在线| 成人免费AA片在线观看| 亚洲一卡2卡3卡4卡乱码 在线| 韩国二级毛片免费播放| 人妻巨大乳hd免费看| 亚洲国产精品嫩草影院在线观看 | 亚洲一卡2卡4卡5卡6卡在线99| 久久午夜免费视频| 亚洲AV香蕉一区区二区三区| 国产精品免费_区二区三区观看| 黄色网址大全免费| 中文字幕人成人乱码亚洲电影| 国产免费拔擦拔擦8X高清在线人| 亚洲一区二区三区电影| 成人午夜18免费看| fc2成年免费共享视频网站| 亚洲男人的天堂在线播放| 精品久久久久国产免费| 日本中文字幕免费看| 亚洲av无码一区二区三区网站| 黄页网站在线观看免费高清| 男女猛烈激情xx00免费视频| 久久精品夜色国产亚洲av| 免费精品人在线二线三线区别| 理论秋霞在线看免费| 亚洲国产美国国产综合一区二区 | 亚洲第一永久AV网站久久精品男人的天堂AV| 特a级免费高清黄色片| 久久亚洲精精品中文字幕| 国产成人免费片在线观看| 国产成人久久AV免费| 亚洲国产成人手机在线观看|