List學習筆記

2022-09-02 08:24:10 字數 1245 閱讀 8369

list

特點:1.有序。2.可重複。

arraylist:

底層是陣列,陣列是有下標的。

會自動擴容,底層預設初始化容量是10,擴大之後的容量預設是原來容量的一半(jdk 1.8)。以前好像是原容量的1.5倍

private

void grow(int

mincapacity)

vector:

底層也是陣列,擴容可以通過建構函式設定。預設初始化容量也是10,擴容一倍原來容量(在沒有設定capacityincrement的情況下)

public vector(int initialcapacity, int

capacityincrement)

/*** constructs an empty vector with the specified initial capacity and

* with its capacity increment equal to zero.**

@param

initialcapacity the initial capacity of the vector

* @throws

illegalargumentexception if the specified initial capacity

* is negative

*/public vector(int

initialcapacity)

/*** constructs an empty vector so that its internal data array

* has size and its standard capacity increment is

* zero.

*/public

vector()

private

void grow(int

mincapacity)

如何優化arraylist和vector?

儘量減少擴容操作,因為每次擴容都要拷貝陣列(arrays.copyof),拷貝陣列很消耗記憶體,所以一般推薦在建立集合的時候指定初始化容量。

對比arraylist,linkedlist,vector?

vector是執行緒安全的,效率很低,所以現在很少使用。

arraylist適合查詢,不適合頻繁隨機的增刪元素。

linkedlist適合頻繁的增刪元素,不適合查詢。

List集合學習筆記

asp.net unity開發 net培訓 期待與您交流!集合 1特點 集合中存放的都是物件,長度是不可變的,陣列可以存放基本資料型別,長度不可變。2框架 collection list 元素是有序的,元素可以重複,因為該集合體系有索引,特有的迭代器,listiterator是iterator的子介...

python學習筆記 List

lista hilary mike 1,2,3,4,6.1,7,8 print lista 從左至右分別為 0,1,2.n 1 從右至左分別為 n,n 1 3,2,1 對於lista而言,其對應的下標如下 hilary mike 1,2,3,4,6.1,7,8 0,1,2,3,4,5,6,7,8 9...

Python學習筆記 list

list是一種有序的集合,可以隨時新增和刪除其中的元素。比如乙個小組的成員集合,用list列出成員的名字 group marin benji faker bang wolf print group marin benji faker bang wolf 1.使用len 函式可以獲得list元素的個數...