C# 動(dòng)態(tài)數(shù)組(ArrayList)
動(dòng)態(tài)數(shù)組(ArrayList)代表了可被單獨(dú)索引的對(duì)象的有序集合。它基本上可以替代一個(gè)數(shù)組。但是,與數(shù)組不同的是,您可以使用索引在指定的位置添加和移除項(xiàng)目,動(dòng)態(tài)數(shù)組會(huì)自動(dòng)重新調(diào)整它的大小。它也允許在列表中進(jìn)行動(dòng)態(tài)內(nèi)存分配、增加、搜索、排序各項(xiàng)。
ArrayList 類的方法和屬性
下表列出了 ArrayList 類的一些常用的 屬性:
屬性 | 描述 |
---|---|
Capacity | 獲取或設(shè)置 ArrayList 可以包含的元素個(gè)數(shù)。 |
Count | 獲取 ArrayList 中實(shí)際包含的元素個(gè)數(shù)。 |
IsFixedSize | 獲取一個(gè)值,表示 ArrayList 是否具有固定大小。 |
IsReadOnly | 獲取一個(gè)值,表示 ArrayList 是否只讀。 |
Item | 獲取或設(shè)置指定索引處的元素。 |
下表列出了 ArrayList 類的一些常用的 方法:
序號(hào) | 方法名 & 描述 |
---|---|
1 | public virtual int Add(
object value
);
在 ArrayList 的末尾添加一個(gè)對(duì)象。 |
2 | public virtual void AddRange(
ICollection c
);
在 ArrayList 的末尾添加 ICollection 的元素。 |
3 | public virtual void Clear(); 從 ArrayList 中移除所有的元素。 |
4 | public virtual bool Contains(
object item
);
判斷某個(gè)元素是否在 ArrayList 中。 |
5 | public virtual ArrayList GetRange(
int index,
int count
);
返回一個(gè) ArrayList,表示源 ArrayList 中元素的子集。 |
6 | public virtual int IndexOf(object); 返回某個(gè)值在 ArrayList 中第一次出現(xiàn)的索引,索引從零開(kāi)始。 |
7 | public virtual void Insert(
int index,
object value
);
在 ArrayList 的指定索引處,插入一個(gè)元素。 |
8 | public virtual void InsertRange(
int index,
ICollection c
);
在 ArrayList 的指定索引處,插入某個(gè)集合的元素。 |
9 | public virtual void Remove(
object obj
);
從 ArrayList 中移除第一次出現(xiàn)的指定對(duì)象。 |
10 | public virtual void RemoveAt(
int index
);
移除 ArrayList 的指定索引處的元素。 |
11 | public virtual void RemoveRange(
int index,
int count
);
從 ArrayList 中移除某個(gè)范圍的元素。 |
12 | public virtual void Reverse(); 逆轉(zhuǎn) ArrayList 中元素的順序。 |
13 | public virtual void SetRange(
int index,
ICollection c
);
復(fù)制某個(gè)集合的元素到 ArrayList 中某個(gè)范圍的元素上。 |
14 | public virtual void Sort(); 對(duì) ArrayList 中的元素進(jìn)行排序。 |
15 | public virtual void TrimToSize(); 設(shè)置容量為 ArrayList 中元素的實(shí)際個(gè)數(shù)。 |
實(shí)例
下面的實(shí)例演示了動(dòng)態(tài)數(shù)組(ArrayList)的概念:
using System; using System.Collections; namespace CollectionApplication { class Program { static void Main(string[] args) { ArrayList al = new ArrayList(); Console.WriteLine("Adding some numbers:"); al.Add(45); al.Add(78); al.Add(33); al.Add(56); al.Add(12); al.Add(23); al.Add(9); Console.WriteLine("Capacity: {0} ", al.Capacity); Console.WriteLine("Count: {0}", al.Count); Console.Write("Content: "); foreach (int i in al) { Console.Write(i + " "); } Console.WriteLine(); Console.Write("Sorted Content: "); al.Sort(); foreach (int i in al) { Console.Write(i + " "); } Console.WriteLine(); Console.ReadKey(); } } }
當(dāng)上面的代碼被編譯和執(zhí)行時(shí),它會(huì)產(chǎn)生下列結(jié)果:
Adding some numbers: Capacity: 8 Count: 7 Content: 45 78 33 56 12 23 9 Content: 9 12 23 33 45 56 78
更多建議: