C# 動(dòng)態(tài)數(shù)組(ArrayList)
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 是否只讀。 |
IsSynchronized | 獲取一個(gè)值,表示訪問(wèn) ArrayList 是否同步(線程安全)。 |
Item[Int32] | 獲取或設(shè)置指定索引處的元素。 |
SyncRoot | 獲取一個(gè)對(duì)象用于同步訪問(wèn) ArrayList。 |
下表列出了 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)的索引,索引從零開始。 |
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)的概念:
實(shí)例
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();
}
}
}
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 Sorted Content: 9 12 23 33 45 56 78
相關(guān)文章
- C++ 數(shù)據(jù)類型
- C++ 數(shù)組
- C++ 繼承
- C++ 重載運(yùn)算符和重載函數(shù)
- C語(yǔ)言 數(shù)據(jù)類型
- C語(yǔ)言 變量
- C語(yǔ)言 函數(shù)
- C語(yǔ)言 字符串
- C語(yǔ)言 共用體
- C語(yǔ)言 內(nèi)存管理
- C語(yǔ)言 標(biāo)準(zhǔn)庫(kù) <locale.h>
- C語(yǔ)言 標(biāo)準(zhǔn)庫(kù) <signal.h>
- C# 基本語(yǔ)法
- C# 接口 Interface
- C# 委托 Delegate
- C# 集合 Collection
- C++ 指針數(shù)組
- C++ 指向指針的指針(多級(jí)間接尋址)
- C++ 類成員訪問(wèn)運(yùn)算符 -> 重載
- C語(yǔ)言 庫(kù)函數(shù) difftime()