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

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

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

    posts - 156,  comments - 601,  trackbacks - 0
    本人早期整理的Java工具類學(xué)習(xí)筆記,分享出來,希望大家多多提點(diǎn)建議和意見。

    集合類
    • Set
      • HashSet
        • 優(yōu)點(diǎn):
            后臺(tái)實(shí)現(xiàn)一個(gè)hash table 加速get和contains方法。后臺(tái)使用數(shù)組保存
          缺點(diǎn):
           默認(rèn)大小為16, 如果超過則需要重新申請(qǐng)內(nèi)存空間,大小為原來的兩倍,并把原來的數(shù)據(jù)內(nèi)容復(fù)制到
           新的內(nèi)存空間中。
           線程不安全(需通過Collections.synchronizedList方法設(shè)置)
           加入的元素順序會(huì)因其內(nèi)部的hash排序而改變

          注:通常缺省的load factor 0.75較好地實(shí)現(xiàn)了時(shí)間和空間的均衡。增大load factor可以節(jié)省空間但相應(yīng)的查找時(shí)間將增大,這會(huì)影響像get和put這樣的操作。

      • LinkedHashSet
        • 優(yōu)點(diǎn):
            后臺(tái)實(shí)現(xiàn)一個(gè)hash table 加速get和contains方法。后臺(tái)使用鏈表保存
          缺點(diǎn):
           默認(rèn)大小為16, 如果超過則需要重新申請(qǐng)內(nèi)存空間,大小為原來的兩倍,并把原來的數(shù)據(jù)內(nèi)容復(fù)制到
           新的內(nèi)存空間中。
           線程不安全(需通過Collections.synchronizedList方法設(shè)置)
           加入的元素順序會(huì)因其內(nèi)部的hash排序而改變

          注:通常缺省的load factor 0.75較好地實(shí)現(xiàn)了時(shí)間和空間的均衡。增大load factor可以節(jié)省空間但相應(yīng)的查找時(shí)間將增大,這會(huì)影響像get和put這樣的操作。

      • TreeSet
        • 優(yōu)點(diǎn):
            通過一個(gè)HashMap來實(shí)現(xiàn)數(shù)據(jù)的保存,內(nèi)部實(shí)現(xiàn)紅黑樹數(shù)據(jù)結(jié)構(gòu),使所有元素按升序保存。
            提供高效的get和contains方法,保存操作的效率為log(n)
          缺點(diǎn):
           默認(rèn)大小為16, 如果超過則需要重新申請(qǐng)內(nèi)存空間,大小為原來的兩倍,并把原來的數(shù)據(jù)內(nèi)容復(fù)制到
           新的內(nèi)存空間中(來自HashMap)。
           線程不安全(需通過Collections.synchronizedList方法設(shè)置)
           加入的元素升級(jí)排序而改變

          注:treeset對(duì)元素有要求,必須實(shí)現(xiàn)Comparable接口或是Comparator 接口)

          注:通常缺省的load factor 0.75較好地實(shí)現(xiàn)了時(shí)間和空間的均衡。增大load factor可以節(jié)省空間但相應(yīng)的查找時(shí)間將增大,這會(huì)影響像get和put這樣的操作。

      • CopyOnWriteArraySet
        • 優(yōu)點(diǎn):
           針對(duì)于對(duì)Set操作的情況有很多變化時(shí)使用,優(yōu)其是在高并發(fā)的情況不想使用同步控制鎖時(shí)
          缺點(diǎn):
           消耗比較大的資料,每次作更新操作時(shí),都會(huì)重新Copy一塊內(nèi)存后,再做合并操作。
    • List
      • ArrayList
        • 優(yōu)點(diǎn):
             使用數(shù)組,提供快速的get,add和iterate方法,占用比較小的內(nèi)存空間
          缺點(diǎn):
             線程不安全(需通過Collections.synchronizedList方法設(shè)置)
             insert和remove操作,非常慢(需要移動(dòng)數(shù)組元素來實(shí)現(xiàn))
             當(dāng)size超過時(shí),需要新建一個(gè)較大的數(shù)據(jù)(默認(rèn)大小是10,增量是 (size * 3)/2 + 1,
             且把原來的數(shù)據(jù)都復(fù)制到新的上面)

      • LinkedList
        • 優(yōu)點(diǎn):
             使用鏈表結(jié)構(gòu),提供快速的add, insert, remove方法,占用比較小的內(nèi)存空間
          缺點(diǎn):
             線程不安全(需通過Collections.synchronizedList方法設(shè)置)
             get操作,非常慢(需要從head一級(jí)級(jí)遍歷查找)

      • Vector
        • 優(yōu)點(diǎn):
           線程安全。
          缺點(diǎn):
           相對(duì)于ArrayList效率要低。擁有ArrayList的缺點(diǎn)。
      • CopyOnWriteArrayList
        • 優(yōu)點(diǎn):
           針對(duì)于對(duì)List操作的情況有很多變化時(shí)使用,優(yōu)其是在高并發(fā)的情況不想使用同步控制鎖時(shí)
          缺點(diǎn):
           消耗比較大的資料,每次作更新操作時(shí),都會(huì)重新Copy一塊內(nèi)存后,再做合并操作。
      • TreeList(apache commons-collections)提供
        • 優(yōu)點(diǎn):
           基于二叉數(shù)  提供比較快速的get, add,insert,iterate,remove方法。其中g(shù)et,add和iterate方法比ArrayList稍慢一點(diǎn)。
          缺點(diǎn):
           相對(duì)于ArrayList和LinkedList占比較多的內(nèi)存空間
           線程不安全(需通過Collections.synchronizedList方法設(shè)置)

    • Map
      • ConcurrentHashMap
        • 優(yōu)點(diǎn):
           基于二叉數(shù)  提供比較快速的get, add,iterate方法。默認(rèn)大小的16.
           它是線程安全
          缺點(diǎn):
           如果大小超過設(shè)定的大小時(shí),效率會(huì)非常低。它會(huì)重新申請(qǐng)內(nèi)存空間(原來空間的兩倍),同時(shí)把原來的值復(fù)制到新內(nèi)存空間上。
           

    Good Luck!
    Yours Matthew!
    posted on 2008-10-25 20:21 x.matthew 閱讀(4120) 評(píng)論(7)  編輯  收藏 所屬分類: Best Practise(JDK API)
    主站蜘蛛池模板: 亚洲精品电影在线| 亚洲乱亚洲乱妇24p| 两个人看www免费视频| 亚洲AV无码久久| 男女免费观看在线爽爽爽视频| wwwxxx亚洲| 免费一级毛片在播放视频| 一级**爱片免费视频| 亚洲国产综合专区在线电影| 24小时日本在线www免费的| 免费一级毛片在线播放视频免费观看永久| 亚洲乱色熟女一区二区三区丝袜| 久久久久久av无码免费看大片| 亚洲黄色免费电影| 免费真实播放国产乱子伦| 久久免费国产视频| 亚洲AV无码XXX麻豆艾秋| 亚洲日韩欧洲无码av夜夜摸 | 亚洲av永久无码制服河南实里| 国产三级免费观看| 青青草国产免费久久久91| 两个人看www免费视频| 国产男女爽爽爽免费视频| 免费看一级一级人妻片| 菠萝菠萝蜜在线免费视频| 亚洲黄色免费网址| 亚洲色图视频在线观看| 97亚洲熟妇自偷自拍另类图片| 国产成人无码a区在线观看视频免费| 国内精品一级毛片免费看| 亚洲精品美女久久7777777| 亚洲A∨无码无在线观看| 日韩精品亚洲专区在线观看| 亚洲视频免费在线看| 久久er国产精品免费观看8| 一级毛片在线免费播放| 在线观看免费视频一区| 日本视频在线观看永久免费| 午夜影院免费观看| 最近中文字幕大全免费版在线 | 亚洲黄色免费网站|