明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

ArrayList-asp.net基礎筆記

[摘要]ArrayList System.Collections.ArrayList類是一個特殊的數(shù)組。通過添加和刪除元素,就可以動態(tài)改變數(shù)組的長度。一.優(yōu)點1。支持自動改變大小的功能2?梢造`活的插入元素3?梢造`活的刪除元素二.局限性跟一般的數(shù)組比起來,速度上差些 三.添加元素 1. publi...
 

ArrayList

  System.Collections.ArrayList類是一個特殊的數(shù)組。通過添加和刪除元素,就可以動態(tài)改變數(shù)組的長度。

一.優(yōu)點

1。支持自動改變大小的功能

2?梢造`活的插入元素

3?梢造`活的刪除元素

二.局限性

跟一般的數(shù)組比起來,速度上差些

 

三.添加元素

1.  public virtual int Add(object value);

將對象添加到 ArrayList 的結尾處

ArrayList aList = new ArrayList();

aList.Add("a");

aList.Add("b");

aList.Add("c");

aList.Add("d");

aList.Add("e");

內(nèi)容為a b c d e

2.  public virtual void Insert(int index,object value);

  將元素插入 ArrayList 的指定索引處

ArrayList aList = new ArrayList();

aList.Add("a");

aList.Add("b");

aList.Add("c");

aList.Add("d");

aList.Add("e");

aList.Insert(0,"aa");

結果為aa a b  c d e

3.  public virtual void InsertRange(int index,ICollection c);

   將集合中的某個元素插入 ArrayList 的指定索引處

  ArrayList aList = new ArrayList();

aList.Add("a");

aList.Add("b");

aList.Add("c");

aList.Add("d");

aList.Add("e");

ArrayList list2 = new ArrayList();

        list2.Add("tt");

list2.Add("ttt");

aList.InsertRange(2,list2);

結果為a b tt ttt c d e

四.刪除

a)       public virtual void Remove(object obj);

   ArrayList 中移除特定對象的第一個匹配項,注意是第一個

ArrayList aList = new ArrayList();

aList.Add("a");

aList.Add("b");

aList.Add("c");

aList.Add("d");

aList.Add("e");

aList.Remove("a");

結果為b c d e

2. public virtual void RemoveAt(int index);

移除 ArrayList 的指定索引處的元素

aList.Add("a");

aList.Add("b");

aList.Add("c");

aList.Add("d");

aList.Add("e");

aList.RemoveAt(0);

結果為b c d e

 

3.  public virtual void RemoveRange(int index,int count);

ArrayList 中移除一定范圍的元素。

Index表示索引,count表示從索引處開始的數(shù)目

aList.Add("a");

aList.Add("b");

aList.Add("c");

aList.Add("d");

aList.Add("e");

aList.RemoveRange(1,3);

結果為a e

4.  public virtual void Clear();

ArrayList 中移除所有元素。

 

五.排序

a)       public virtual void Sort();

ArrayList 或它的一部分中的元素進行排序。

ArrayList aList = new ArrayList();

aList.Add("e");

aList.Add("a");

aList.Add("b");

aList.Add("c");

aList.Add("d");

DropDownList1.DataSource = aList;  // DropDownList DropDownList1;

DropDownList1.DataBind();

結果為e a b c d

ArrayList aList = new ArrayList();

aList.Add("a");

aList.Add("b");

aList.Add("c");

aList.Add("d");

aList.Add("e");

aList.Sort();  //排序

DropDownList1.DataSource = aList;  // DropDownList DropDownList1;

DropDownList1.DataBind();

結果為a b c d e

b)       public virtual void Reverse();

ArrayList 或它的一部分中元素的順序反轉(zhuǎn)。

ArrayList aList = new ArrayList();

aList.Add("a");

aList.Add("b");

aList.Add("c");

aList.Add("d");

aList.Add("e");

aList.Reverse();  //反轉(zhuǎn)

DropDownList1.DataSource = aList;  // DropDownList DropDownList1;

DropDownList1.DataBind();

結果為 e d c b a

六.查找

a)       public virtual int IndexOf(object);

b)       public virtual int IndexOf(object, int);

c)       public virtual int IndexOf(object, int, int);

  返回 ArrayList 或它的一部分中某個值的第一個匹配項的從零開始的索引。沒找到返回-1。

ArrayList aList = new ArrayList();

aList.Add("a");

aList.Add("b");

aList.Add("c");

aList.Add("d");

aList.Add("e");

int nIndex = aList.IndexOf(a);  //1

nIndex = aList.IndexOf(p);     //沒找到,-1

d)       public virtual int LastIndexOf(object);

e)         public virtual int LastIndexOf(object, int);

f)         public virtual int LastIndexOf(object, int, int);

  返回 ArrayList 或它的一部分中某個值的最后一個匹配項的從零開始的索引。

ArrayList aList = new ArrayList();

aList.Add("a"); 

aList.Add("b");

aList.Add("a");  //同0

aList.Add("d");

aList.Add("e");

int nIndex = aList.LastIndexOf("a");  //值為2而不是0

g)       public virtual bool Contains(object item);

確定某個元素是否在 ArrayList 中。包含返回true,否則返回false

七.其他

1.public virtual int Capacity {get; set;}

獲取或設置 ArrayList 可包含的元素數(shù)。

2.public virtual int Count {get;}

獲取 ArrayList 中實際包含的元素數(shù)。

Capacity 是 ArrayList 可以存儲的元素數(shù)。Count 是 ArrayList 中實際包含的元素數(shù)。Capacity 總是大于或等于 Count。如果在添加元素時,Count 超過 Capacity,則該列表的容量會通過自動重新分配內(nèi)部數(shù)組加倍。

如果 Capacity 的值顯式設置,則內(nèi)部數(shù)組也需要重新分配以容納指定的容量。如果 Capacity 被顯式設置為 0,則公共語言運行庫將其設置為默認容量。默認容量為 16。

在調(diào)用Clear后,Count為0,而此時Capacity切是默認容量16,而不是0

 

3.public virtual void TrimToSize();

將容量設置為 ArrayList 中元素的實際數(shù)量。

如果不向列表中添加新元素,則此方法可用于最小化列表的內(nèi)存系統(tǒng)開銷。

若要完全清除列表中的所有元素,請在調(diào)用 TrimToSize 之前調(diào)用 Clear 方法。截去空 ArrayList 會將 ArrayList 的容量設置為默認容量,而不是零。

ArrayList aList = new ArrayList();

aList.Add("a");

aList.Add("b");

aList.Add("c");

aList.Add("d");

aList.Add("e");  //Count = 5,Capacity=16,

aList.TrimToSize();  //Count=Capacity=5;