1、什麼是arraylist
2、如何使用arraylist
最簡單的例子:
arraylist list = new arraylist();
for( int i=0;i<10;i++ ) //給陣列增加10個int元素
list.add(i);
//..程式做一些處理
list.removeat(5);//將第6個元素移除
for( int i=0;i<3;i++ ) //再增加3個元素
list.add(i+20);
int32 values = (int32)list.toarray(typeof(int32));//返回arraylist包含的陣列
這是乙個簡單的例子,雖然沒有包含arraylist所有的方法,但是可以反映出arraylist最常用的用法
3、arraylist重要的方法和屬性
(1)構造器
arraylist提供了三個構造器:
public arraylist();
預設的構造器,將會以預設(16)的大小來初始化內部的陣列
public arraylist(icollection);
用乙個icollection物件來構造,並將該集合的元素新增到arraylist
public arraylist(int);
用指定的大小來初始化內部的陣列
(2)issynchronized屬性和arraylist.synchronized方法
issynchronized屬性指示當前的arraylist例項是否支援執行緒同步,而arraylist.synchronized靜態方法則會返回乙個arraylist的執行緒同步的封裝。
如果使用非執行緒同步的例項,那麼在多執行緒訪問的時候,需要自己手動呼叫lock來保持執行緒同步,例如:
arraylist list = new arraylist();
//...
lock( list.syncroot ) //當arraylist為非執行緒包裝的時候,syncroot屬性其實就是它自己,但是為了滿足icollection的syncroot定義,這裡還是使用syncroot來保持源**的規範性
如果使用arraylist.synchronized方法返回的例項,那麼就不用考慮執行緒同步的問題,這個例項本身就是執行緒安全的,實際上arraylist內部實現了乙個保證執行緒同步的內部類,arraylist.synchronized返回的就是這個類的例項,它裡面的每個屬性都是用了lock關鍵字來保證執行緒同步。
****
但是,使用這個方法(arraylist.synchronized)並不能保證列舉的同步,例如,乙個執行緒正在刪除或新增集合項,而另乙個執行緒同時進行列舉,這時
ArrayList的使用方法
1 什麼是arraylist arraylist就是傳說中的動態陣列,用msdn中的說法,就是array的複雜版本,它提供了如下一些好處 動態的增加和減少元素 實現了icollection和ilist介面 靈活的設定陣列的大小 2 如何使用arraylist 最簡單的例子 arraylist lis...
ArrayList的使用方法
1 什麼是arraylist arraylist就是傳說中的動態陣列,用msdn中的說法,就是array的複雜版本,它提供了如下一些好處 2 如何使用arraylist 最簡單的例子 arraylist list new arraylist for int i 0 i 10 i 給陣列增加10個in...
ArrayList 的使用方法 摘要
arraylist 的使用方法 1 什麼是arraylist 1 動態的增加和減少元素 2 實現了icollection和ilist介面 3 靈活的設定陣列的大小 2 如何使用arraylist 最簡單的例子 arraylist list new arraylist for int i 0 i 10...