zhyiwww
          用平實(shí)的筆,記錄編程路上的點(diǎn)點(diǎn)滴滴………
          posts - 536,comments - 394,trackbacks - 0

          Vector ArrayList 的區(qū)別

                 (這篇文章是從網(wǎng)上摘錄,地址忘了,如涉及版權(quán)請(qǐng)和我聯(lián)系z(mì)hyiwww@163.com)

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

           

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

           

          3.         如果查找一個(gè)指定位置的數(shù)據(jù), vector arraylist 使用的時(shí)間是相同的,都是 0(1), 這個(gè)時(shí)候使用 vector arraylist 都可以。而如果移動(dòng)一個(gè)指定位置的數(shù)據(jù)花費(fèi)的時(shí)間為 0(n-i)n 為總長度,這個(gè)時(shí)候就應(yīng)該考慮到使用 linklist, 因?yàn)樗苿?dòng)一個(gè)指定位置的數(shù)據(jù)所花費(fèi)的時(shí)間為 0(1), 而查詢一個(gè)指定位置的數(shù)據(jù)時(shí)花費(fèi)的時(shí)間為 0(i)

           

           

          另:

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

           

          結(jié)論:

          盡量采用 List HashMap rather than Vector&Hashtable

           

           



          |----------------------------------------------------------------------------------------|
                                     版權(quán)聲明  版權(quán)所有 @zhyiwww
                      引用請(qǐng)注明來源 http://www.aygfsteel.com/zhyiwww   
          |----------------------------------------------------------------------------------------|
          posted on 2006-04-12 09:09 zhyiwww 閱讀(1614) 評(píng)論(0)  編輯  收藏 所屬分類: java basic
          主站蜘蛛池模板: 阿坝县| 龙南县| 汉阴县| 拜泉县| 庆元县| 湾仔区| 姚安县| 涿鹿县| 南昌市| 海宁市| 金门县| 崇仁县| 普格县| 渝中区| 湘潭市| 新田县| 汉源县| 方城县| 垦利县| 太仆寺旗| 三明市| 唐海县| 石泉县| 石城县| 观塘区| 宜黄县| 满城县| 莆田市| 石泉县| 慈溪市| 宣恩县| 中西区| 高邮市| 巫溪县| 铁岭市| 全椒县| 成武县| 纳雍县| 永仁县| 仁寿县| 武定县|