zhyiwww
          用平實的筆,記錄編程路上的點點滴滴………
          posts - 536,comments - 394,trackbacks - 0

          Vector ArrayList 的區別

                 (這篇文章是從網上摘錄,地址忘了,如涉及版權請和我聯系zhyiwww@163.com)

          1.        vector 是線程同步的,所以它也是線程安全的,而 arraylist 是線程異步的,是不安全的。如果不考慮到線程的安全因素,一般用 arraylist 效率比較高。

           

          2.        如果集合中的元素的數目大于目前集合數組的長度時, vector 增長率為目前數組長度的 100%, arraylist 增長率為目前數組長度的 50%. 如過在集合中使用數據量比較大的數據,用 vector 有一定的優勢。

           

          3.         如果查找一個指定位置的數據, vector arraylist 使用的時間是相同的,都是 0(1), 這個時候使用 vector arraylist 都可以。而如果移動一個指定位置的數據花費的時間為 0(n-i)n 為總長度,這個時候就應該考慮到使用 linklist, 因為它移動一個指定位置的數據所花費的時間為 0(1), 而查詢一個指定位置的數據時花費的時間為 0(i)

           

           

          另:

          如果你注意到對Vector和List的所開始支持的Java版本你就應該可以找到答案了。Java對Vector的支持since 1.0;對List則是since 1.2。這兩個版本之間,sun對于java api做了很多的改動,其中的一個refactoring就是提出了所謂的Collection FrameWork,List就是在那個時候被introduced,它完全符合1.2版本的collection framework,而Vector則是在Colleciton framework出現之前就已經存在了,但java api并沒有將Vector變成Deprecated,主要是backward compatiable的問題,最終JCP將vector做了refactoring的處理,讓它符合所定制的Collection framework了事。另外,Hashtable和HashMap的區別是同樣的道理。

           

          結論:

          盡量采用 List HashMap rather than Vector&Hashtable

           

           



          |----------------------------------------------------------------------------------------|
                                     版權聲明  版權所有 @zhyiwww
                      引用請注明來源 http://www.aygfsteel.com/zhyiwww   
          |----------------------------------------------------------------------------------------|
          posted on 2006-04-12 09:09 zhyiwww 閱讀(1606) 評論(0)  編輯  收藏 所屬分類: java basic
          主站蜘蛛池模板: 砚山县| 砀山县| 兖州市| 通化县| 城市| 蒲江县| 万山特区| 盘锦市| 远安县| 米易县| 仁寿县| 湛江市| 武宣县| 海南省| 沙洋县| 苍梧县| 庐江县| 奎屯市| 保山市| 兴安县| 孙吴县| 盐池县| 郓城县| 峨山| 鹤庆县| 西乌珠穆沁旗| 同江市| 荆州市| 吉木乃县| 福州市| 长宁县| 八宿县| 丰镇市| 柘荣县| 洪雅县| 湘乡市| 高要市| 唐河县| 诸城市| 台山市| 长岛县|