Java中Vector與ArrayList的區別詳解
3個具體實現類的相關區別如下:
1.ArrayList是最常用的List實現類,內部是通過陣列實現的,它允許對元素進行快速隨機訪問。陣列的缺點是每個元素之間不能有間隔,當陣列大小不滿足時需要增加儲存能力,就要講已經有陣列的資料複製到新的儲存空間中。當從ArrayList的中間位置插入或者刪除元素時,需要對陣列進行復制、移動、代價比較高。因此,它適合隨機查詢和遍歷,不適合插入和刪除。
2.Vector與ArrayList一樣,也是通過陣列實現的,不同的是它支援執行緒的同步,即某一時刻只有一個執行緒能夠寫Vector,避免多執行緒同時寫而引起的不一致性,但實現同步需要很高的花費,因此,訪問它比訪問ArrayList慢。
3.LinkedList是用連結串列結構儲存資料的,很適合資料的動態插入和刪除,隨機訪問和遍歷速度比較慢。另外,他還提供了List介面中沒有定義的方法,專門用於操作表頭和表尾元素,可以當作堆疊、佇列和雙向佇列使用。
1.ArrayList是最常用的List實現類,內部是通過陣列實現的,它允許對元素進行快速隨機訪問。陣列的缺點是每個元素之間不能有間隔,當陣列大小不滿足時需要增加儲存能力,就要講已經有陣列的資料複製到新的儲存空間中。當從ArrayList的中間位置插入或者刪除元素時,需要對陣列進行復制、移動、代價比較高。因此,它適合隨機查詢和遍歷,不適合插入和刪除。
2.Vector與ArrayList一樣,也是通過陣列實現的,不同的是它支援執行緒的同步,即某一時刻只有一個執行緒能夠寫Vector,避免多執行緒同時寫而引起的不一致性,但實現同步需要很高的花費,因此,訪問它比訪問ArrayList慢。
3.LinkedList是用連結串列結構儲存資料的,很適合資料的動態插入和刪除,隨機訪問和遍歷速度比較慢。另外,他還提供了List介面中沒有定義的方法,專門用於操作表頭和表尾元素,可以當作堆疊、佇列和雙向佇列使用。
相關文章
- Java中Vector和ArrayList的區別Java
- java arrayList vector 區別Java
- ArrayList 和 Vector 的區別 -JAVAJava
- Arraylist與Vector的區別 - Java那些事兒專欄Java
- Vector和ArrayList的區別
- ARRAYLIST VECTOR LINKEDLIST 區別與用法
- LinkedList和ArrayList的區別、Vector和ArrayList的區別
- Java中Array與ArrayList的主要區別Java
- java複習之 Vector、ArrayList和LinkedList 的區別Java
- java集合【12】——— ArrayList,LinkedList,Vector的相同點與區別是什麼?Java
- ArrayList,LinkedList,Vector,Stack之間的區別
- java中的List介面(ArrayList、Vector、LinkedList)Java
- Java集合系列(二):ArrayList、LinkedList、Vector的使用方法及區別Java
- Java中ArrayList和LinkedList區別Java
- Java運算子>>與>>>區別詳解Java
- 【java】【集合】List的三個子類—ArrayList、Vector、LinkedList的區別和聯絡Java
- ArrayList、Vector、LinkedList的區別及其優缺點? (轉載)
- PHP中isset()與empty()的使用區別詳解PHP
- ArrayList和LinkedList區別 javaJava
- equals與==的區別(詳解)
- Java集合(三) ArrayList詳解Java
- C++中vector*和vector有什麼區別C++
- Java List 常用集合 ArrayList、LinkedList、VectorJava
- Java 集合 ArrayList VS LinkedList VS VectorJava
- 詳解not in與not exists的區別與用法
- c#中Array,ArrayList 與List<T>的區別、共性與轉換C#
- Java中(==)與equals的區別Java
- 詳解iframe與frame的區別
- MyBatis中#{}和${}的區別詳解MyBatis
- synchronized與Lock的區別與使用詳解synchronized
- Java NIO 和 IO 的區別詳解Java
- Difference Between Arraylist And Vector : Core Java Interview Collection QuestionJavaView
- table中cesllspacing與cellpadding的區別詳解padding
- Android中Handler Runnable與Thread的區別詳解Androidthread
- TCP與UDP區別詳解TCPUDP
- cookie和session的詳解與區別CookieSession
- Java中的Type型別詳解Java型別
- Java中Collection Frame中常用集合簡析(ArrayList,Vector,HashSet,TreeSet...)Java