system.collections.arraylist類是乙個特殊的陣列。通過新增和刪除元素,就可以動態改變陣列的長度。
1。支援自動改變大小的功能
2。可以靈活的插入元素
3。可以靈活的刪除元素
跟一般的陣列比起來,速度上差些
將物件新增到arraylist的結尾處
arraylist alist=newarraylist();
alist.add("a");
alist.add("b");
alist.add("c");
alist.add("d");
alist.add("e");
內容為abcde
將元素插入arraylist的指定索引處
arraylist alist=newarraylist();
alist.add("a");
alist.add("b");
alist.add("c");
alist.add("d");
alist.add("e");
alist.insert(0,"aa");
結果為aaabcde
將集合中的某個元素插入arraylist的指定索引處
arraylist alist=newarraylist();
alist.add("a");
alist.add("b");
alist.add("c");
alist.add("d");
alist.add("e");
arraylistlist2=newarraylist();
list2.add("tt");
list2.add("ttt");
alist.insertrange(2,list2);
結果為abtttttcde
從arraylist中移除特定物件的第乙個匹配項,注意是第乙個
arraylistalist=newarraylist();
alist.add("a");
alist.add("b");
alist.add("c");
alist.add("d");
alist.add("e");
alist.remove("a");
結果為bcde
移除arraylist的指定索引處的元素
alist.add("a");
alist.add("b");
alist.add("c");
alist.add("d");
alist.add("e");
alist.removeat(0);
結果為bcde
從arraylist中移除一定範圍的元素。index表示索引,count表示從索引處開始的數目
alist.add("a");
alist.add("b");
alist.add("c");
alist.add("d");
alist.add("e");
alist.removerange(1,3);
結果為ae
從arraylist中移除所有元素。
a)publicvirtualvoidsort();
對arraylist或它的一部分中的元素進行排序。
arraylistalist=newarraylist();
alist.add("e");
alist.add("a");
alist.add("b");
alist.add("c");
alist.add("d");
dropdownlist1.datasource=alist;//dropdownlistdropdownlist1;
dropdownlist1.databind();
結果為eabcd
arraylistalist=newarraylist();
alist.add("a");
alist.add("b");
alist.add("c");
alist.add("d");
alist.add("e");
alist.sort();//排序
dropdownlist1.datasource=alist;//dropdownlistdropdownlist1;
dropdownlist1.databind();
結果為abcde
b)publicvirtualvoidreverse();
將arraylist或它的一部分中元素的順序反轉。
arraylistalist=newarraylist();
alist.add("a");
alist.add("b");
alist.add("c");
alist.add("d");
alist.add("e");
alist.reverse();//反轉
dropdownlist1.datasource=alist;//dropdownlistdropdownlist1;
dropdownlist1.databind();
結果為edcba
a)publicvirtualintindexof(object);
b)publicvirtualintindexof(object,int);
c)publicvirtualintindexof(object,int,int);
返回arraylist或它的一部分中某個值的第乙個匹配項的從零開始的索引。沒找到返回-1。
arraylistalist=newarraylist();
alist.add("a");
alist.add("b");
alist.add("c");
alist.add("d");
alist.add("e");
intnindex=alist.indexof(「a」);//1
nindex=alist.indexof(「p」);//沒找到,-1
d)publicvirtualintlastindexof(object);
e)publicvirtualintlastindexof(object,int);
f)publicvirtualintlastindexof(object,int,int);
返回arraylist或它的一部分中某個值的最後乙個匹配項的從零開始的索引。
arraylistalist=newarraylist();
alist.add("a");
alist.add("b");
alist.add("a");//同0
alist.add("d");
alist.add("e");
intnindex=alist.lastindexof("a");//值為2而不是0
g)publicvirtualboolcontains(objectitem);
確定某個元素是否在arraylist中。包含返回true,否則返回false
獲取或設定arraylist可包含的元素數。
獲取arraylist中實際包含的元素數。
capacity是arraylist可以儲存的元素數。count是arraylist中實際包含的元素數。capacity總是大於或等於count。如果在新增元素時,count超過capacity,則該列表的容量會通過自動重新分配內部陣列加倍。
如果capacity的值顯式設定,則內部陣列也需要重新分配以容納指定的容量。如果capacity被顯式設定為0,則公共語言執行庫將其設定為預設容量。預設容量為16。
在呼叫clear後,count為0,而此時capacity切是預設容量16,而不是0
將容量設定為arraylist中元素的實際數量。
如果不向列表中新增新元素,則此方法可用於最小化列表的記憶體系統開銷。
若要完全清除列表中的所有元素,請在呼叫trimtosize之前呼叫clear方法。截去空arraylist會將arraylist的容量設定為預設容量,而不是零。
arraylistalist=newarraylist();
alist.add("a");
alist.add("b");
alist.add("c");
alist.add("d");
alist.add("e");//count=5,capacity=16,
alist.trimtosize();//count=capacity=5;
C 動態陣列
原 1.變長一維陣列 這裡說的變長陣列是指在編譯時不能確定陣列長度,程式在執行時需要動態分配記憶體空間的陣列。實現變長陣列最簡單的是變長一維陣列,你可以這樣做 1 檔名 array01.cpp 2 include 3 using namespace std 4 int main 5 注意int p ...
c 動態陣列
在建立動態陣列的過程中我們要遵循乙個原則,那就是在建立的時候從外層往裡層,逐層建立 而釋放的時候從裡層往外層,逐層釋放。這個話你讀了可能理解並不深刻,不過不要急,接下來我們看看兩段 一維動態陣列的建立 include include int main int n1,i int array print...
c 動態陣列
這學期學c 晚上有道程式設計題,比較坑,感覺要用動態陣列做,但實際就是要用靜態陣列,因為動態的反而更難了。用動態陣列的時候,發現自己只會建立一維的 int a new int 5 然後二維陣列怎麼創都忘記了,還是那句話 不寫 很容易 忘記。然後下面就給出幾個例子吧 cpp view plain co...