ArrayList和Vector的區別?


首先兩個類都實現了List接口。他們都是有序不唯一的集合,說白了就是存儲元素的位置是有序的(每一個元素都以一個對應的索引),相當於一個動態數組

 

ArrayList和Vector的區別,主要包括兩個方面

  同步性:

      Vector是線程安全的,也就是說它的方法直線是線程同步的,而ArrayList是線程不安全的,它的方法之間是線程不同步的

      如果只有一個線程去訪問集合那么使用ArrayList,他不考慮線程安全的問題,所以效率會高一些

      如果是多個線程去訪問集合,那么使用Vector

  

  數據增長性:

      ArrayList和Vector集合都有一個初始容量的大小,當元素的個數超過存儲容量是,就需要增加ArrayList和Vector的存儲空間,每次增加不是

      增加一個而是增加多個,Vector是增加原來的兩倍,ArrayList沒有明文規定,但是從源碼中可以看出增長原來的1.5倍

      ArrayList和Vector可以設置初始的存儲空間的大小,Vector還以設置增長空間大小,而ArrayList不可以。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM