List具體子類,及之間的區別

2021-06-29 01:20:28 字數 395 閱讀 9982

list:有序,可重複,有索引。

|--arraylist:底層是陣列資料結構。是執行緒不同步的。查詢元素的速度很快。但是增刪元素的效率稍低。

|--linkedlist:底層是鍊錶資料結構,是執行緒不同步的。查詢元素的速度稍慢,但是增刪速度很快。

|--vector:底層也是陣列資料結構。是執行緒同步的。被arraylist替代了。查詢速度,和增刪的速度非常慢。效率低。

可變長度的陣列的原理:

當預設長度為10的陣列不夠儲存時,會建立乙個新陣列。

將原來陣列中的元素複製到新陣列中。把後面新增進來的元素儲存到新陣列中。

arraylist:建立新陣列是50%延長

vector:建立新陣列是100%延長。

所以arraylist比vector效率高。

C vector與list之間的區別

vector與list都是stl序列式容器,由於底層實現原理不同,所以兩個容器適用場景不同,我們在使用在使用兩個容器時,不由得會將它們進行對比。vector list 底層實現 動態順序表,底層空間連續 雙鏈表,底層空間不連續 插入與刪除 插入與刪除效率低,因為需要移動資料元素,時間複雜度為o n ...

List的子類特點

1 list 面試題 list的子類特點 23 arraylist 4底層資料結構是陣列,查詢快,增刪慢.5執行緒不安全,效率高6 vector 7 底層資料結構是陣列,查詢快,增刪慢.8 執行緒安全,效率低 9linkedlist 10底層資料結構是鍊錶,查詢慢,增刪快.11執行緒不安全,效率高....

List子類和父類的區別和作用

當資料多的時候,則採用物件的方式來設定值 但當物件多的時候,則採用集合也就是list或他的 兄弟 set來存物件 而獲取資料,則需要用到他倆的父類 collection 裡的內部類 iterator 來獲值,對於list也可以使用自己實現的listiterator來獲值,set則沒有 listite...