C# 動態(tài)數(shù)組(ArrayList)
C# 動態(tài)數(shù)組(ArrayList)
動態(tài)數(shù)組(ArrayList)代表了可被單獨索引的對象的有序集合。它基本上可以替代一個數(shù)組。但是,與數(shù)組不同的是,您可以使用索引在指定的位置添加和移除項目,動態(tài)數(shù)組會自動重新調(diào)整它的大小。它也允許在列表中進(jìn)行動態(tài)內(nèi)存分配、增加、搜索、排序各項。
ArrayList 類的方法和屬性
下表列出了 ArrayList 類的一些常用的 屬性:
屬性 | 描述 |
---|---|
Capacity | 獲取或設(shè)置 ArrayList 可以包含的元素個數(shù)。 |
Count | 獲取 ArrayList 中實際包含的元素個數(shù)。 |
IsFixedSize | 獲取一個值,表示 ArrayList 是否具有固定大小。 |
IsReadOnly | 獲取一個值,表示 ArrayList 是否只讀。 |
IsSynchronized | 獲取一個值,表示訪問 ArrayList 是否同步(線程安全)。 |
Item[Int32] | 獲取或設(shè)置指定索引處的元素。 |
SyncRoot | 獲取一個對象用于同步訪問 ArrayList。 |
下表列出了 ArrayList 類的一些常用的 方法:
序號 | 方法名 & 描述 |
---|---|
1 | public virtual int Add( object value ); 在 ArrayList 的末尾添加一個對象。 |
2 | public virtual void AddRange( ICollection c ); 在 ArrayList 的末尾添加 ICollection 的元素。 |
3 | public virtual void Clear();從 ArrayList 中移除所有的元素。 |
4 | public virtual bool Contains( object item ); 判斷某個元素是否在 ArrayList 中。 |
5 | public virtual ArrayList GetRange( int index, int count ); 返回一個 ArrayList,表示源 ArrayList 中元素的子集。 |
6 | public virtual int IndexOf(object);返回某個值在 ArrayList 中第一次出現(xiàn)的索引,索引從零開始。 |
7 | public virtual void Insert( int index, object value ); 在 ArrayList 的指定索引處,插入一個元素。 |
8 | public virtual void InsertRange( int index, ICollection c ); 在 ArrayList 的指定索引處,插入某個集合的元素。 |
9 | public virtual void Remove( object obj ); 從 ArrayList 中移除第一次出現(xiàn)的指定對象。 |
10 | public virtual void RemoveAt( int index ); 移除 ArrayList 的指定索引處的元素。 |
11 | public virtual void RemoveRange( int index, int count ); 從 ArrayList 中移除某個范圍的元素。 |
12 | public virtual void Reverse();逆轉(zhuǎn) ArrayList 中元素的順序。 |
13 | public virtual void SetRange( int index, ICollection c ); 復(fù)制某個集合的元素到 ArrayList 中某個范圍的元素上。 |
14 | public virtual void Sort();對 ArrayList 中的元素進(jìn)行排序。 |
15 | public virtual void TrimToSize();設(shè)置容量為 ArrayList 中元素的實際個數(shù)。 |
實例
下面的實例演示了動態(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();
}
}
}
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í)行時,它會產(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++ 重載運算符和重載函數(shù)
- C語言 數(shù)據(jù)類型
- C語言 變量
- C語言 函數(shù)
- C語言 字符串
- C語言 共用體
- C語言 內(nèi)存管理
- C語言 標(biāo)準(zhǔn)庫 <locale.h>
- C語言 標(biāo)準(zhǔn)庫 <signal.h>
- C# 基本語法
- C# 接口 Interface
- C# 委托 Delegate
- C# 集合 Collection
- C++ 指針數(shù)組
- C++ 指向指針的指針(多級間接尋址)
- C++ 類成員訪問運算符 -> 重載
- C語言 庫函數(shù) difftime()