list
特點:1.有序。2.可重複。
arraylist:
底層是陣列,陣列是有下標的。
會自動擴容,底層預設初始化容量是10,擴大之後的容量預設是原來容量的一半(jdk 1.8)。以前好像是原容量的1.5倍
privatevoid grow(int
mincapacity)
vector:
底層也是陣列,擴容可以通過建構函式設定。預設初始化容量也是10,擴容一倍原來容量(在沒有設定capacityincrement的情況下)
public vector(int initialcapacity, intcapacityincrement)
/*** 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()
privatevoid 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元素的個數...