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
- LinkedList和ArrayList的區別、Vector和ArrayList的區別
- java複習之 Vector、ArrayList和LinkedList 的區別Java
- java集合【12】——— ArrayList,LinkedList,Vector的相同點與區別是什麼?Java
- Java集合系列(二):ArrayList、LinkedList、Vector的使用方法及區別Java
- java中的List介面(ArrayList、Vector、LinkedList)Java
- 【java】【集合】List的三個子類—ArrayList、Vector、LinkedList的區別和聯絡Java
- Java運算子>>與>>>區別詳解Java
- table中cesllspacing與cellpadding的區別詳解padding
- Java List 常用集合 ArrayList、LinkedList、VectorJava
- equals與==的區別(詳解)
- 詳解iframe與frame的區別
- Java中(==)與equals的區別Java
- c#中Array,ArrayList 與List<T>的區別、共性與轉換C#
- synchronized與Lock的區別與使用詳解synchronized
- MyBatis中#{}和${}的區別詳解MyBatis
- Difference Between Arraylist And Vector : Core Java Interview Collection QuestionJavaView
- TCP與UDP區別詳解TCPUDP
- cookie和session的詳解與區別CookieSession
- Java中的Type型別詳解Java型別
- java集合學習(一):詳解ArrayListJava
- Kafka與ActiveMQ的區別與聯絡詳解KafkaMQ
- 詳解Kafka與ActiveMQ的區別與聯絡!KafkaMQ
- ArrayList和LinkedList的區別?
- ArrayList和LinkedList的區別
- rem與em的使用和區別詳解REM
- xargs 命令詳解,xargs 與管道的區別
- PHP isset()與empty()的使用區別詳解PHP
- cookie與session的區別(圖文詳解)CookieSession
- Java中replace與replaceAll區別Java
- Java集合詳解(二):ArrayList原理解析Java
- Java中的類與物件詳解Java物件
- Python中none和null的區別詳解!PythonNoneNull
- Java中類與物件的關係與區別Java物件
- C#中抽象方法與虛方法的區別詳解及示例C#抽象
- 【java】【集合】去除ArrayList中的元素、ArrayList巢狀ArrayListJava巢狀
- Python之列表與元組的區別詳解Python
- Java中Array與ArrayList之間的轉換Java