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

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

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

    冰塊+java

    Vector ArrayList LinkedList 區(qū)別

    同步性
    Vector是同步的。這個類中的一些方法保證了Vector中的對象是線程安全的。而ArrayList則是異步的,因此ArrayList中的對象并不是線程安全的。因?yàn)橥降囊髸绊憟?zhí)行的效率,所以如果你不需要線程安全的集合那么使用ArrayList是一個很好的選擇,這樣可以避免由于同步帶來的不必要的性能開銷。
    ---------------------------------------------------------------------------------------------------------------------
    數(shù)據(jù)增長
    從內(nèi)部實(shí)現(xiàn)機(jī)制來講ArrayList和Vector都是使用數(shù)組(Array)來控制集合中的對象。當(dāng)你向這兩種類型中增加元素的時候,如果元素的數(shù)目超出了內(nèi)部數(shù)組目前的長度它們都需要擴(kuò)展內(nèi)部數(shù)組的長度,Vector缺省情況下自動增長原來一倍的數(shù)組長度,ArrayList是原來的50%,所以最后你獲得的這個集合所占的空間總是比你實(shí)際需要的要大。所以如果你要在集合中保存大量的數(shù)據(jù)那么使用Vector有一些優(yōu)勢,因?yàn)槟憧梢酝ㄟ^設(shè)置集合的初始化大小來避免不必要的資源開銷。
    --------------------------------------------------------------------------------------------------------------------
    使用模式
    在ArrayList和Vector中,從一個指定的位置(通過索引)查找數(shù)據(jù)或是在集合的末尾增加、移除一個元素所花費(fèi)的時間是一樣的,這個時間我們用O(1)表示。但是,如果在集合的其他位置增加或移除元素那么花費(fèi)的時間會呈線形增長:O(n-i),其中n代表集合中元素的個數(shù),i代表元素增加或移除元素的索引位置。為什么會這樣呢?以為在進(jìn)行上述操作的時候集合中第i和第i個元素之后的所有元素都要執(zhí)行位移的操作。這一切意味著什么呢?
    這意味著,你只是查找特定位置的元素或只在集合的末端增加、移除元素,那么使用Vector或ArrayList都可以。如果是其他操作,你最好選擇其他的集合操作類。比如,LinkList集合類在增加或移除集合中任何位置的元素所花費(fèi)的時間都是一樣的?O(1),但它在索引一個元素的使用缺比較慢-O(i),其中i是索引的位置.使用ArrayList也很容易,因?yàn)槟憧梢院唵蔚氖褂盟饕齺泶鎰?chuàng)建iterator對象的操作。LinkList也會為每個插入的元素創(chuàng)建對象,所有你要明白它也會帶來額外的開銷。
    -------------------------------------------------------------------------------------------------------------
    最后,在《Practical Java》一書中Peter Haggar建議使用一個簡單的數(shù)組(Array)來代替Vector或ArrayList。尤其是對于執(zhí)行效率要求高的程序更應(yīng)如此。因?yàn)槭褂脭?shù)組(Array)避免了同步、額外的方法調(diào)用和不必要的重新分配空間的操作。

    posted on 2011-10-18 14:39 iceblock 閱讀(168) 評論(0)  編輯  收藏


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


    網(wǎng)站導(dǎo)航:
     

    導(dǎo)航

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

    統(tǒng)計(jì)

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 久久亚洲精精品中文字幕| 2020国产精品亚洲综合网| 亚洲国产成人乱码精品女人久久久不卡 | 亚洲综合伊人久久大杳蕉| 久久亚洲AV无码精品色午夜麻| 亚洲国产精品成人综合久久久| 亚洲s码欧洲m码吹潮| 在线观看免费播放av片| 大地资源在线观看免费高清| 国产人成免费视频| 亚洲宅男永久在线| 4444www免费看| 亚洲日韩在线观看| 中文字幕精品三区无码亚洲| 精品97国产免费人成视频 | 亚洲福利视频导航| 2021在线永久免费视频| 亚洲国产日韩在线人成下载| 男女一边摸一边做爽的免费视频| 中文国产成人精品久久亚洲精品AⅤ无码精品| 一区二区免费电影| 大陆一级毛片免费视频观看| 亚洲色欲色欲www在线丝 | 久久国内免费视频| 好看的亚洲黄色经典| 国产亚洲Av综合人人澡精品| 91精品国产免费入口| 亚洲一区二区三区在线观看精品中文| 97超高清在线观看免费视频| 亚洲精品WWW久久久久久| 高潮毛片无遮挡高清免费| 成人性生交大片免费看无遮挡| 亚洲资源最新版在线观看| 亚洲av高清在线观看一区二区 | 永久免费在线观看视频| 亚洲av片在线观看| 妞干网免费视频观看| 国产人成网在线播放VA免费| 亚洲午夜精品在线| 国产福利电影一区二区三区,亚洲国模精品一区 | 亚洲国产韩国一区二区|