ArrayList的使用方法

2021-12-29 16:36:27 字數 1511 閱讀 9597

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最常用的用法

3arraylist重要的方法和屬性

(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...