溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#中ArrayList類如何使用

發(fā)布時間:2022-09-22 09:41:27 來源:億速云 閱讀:186 作者:iii 欄目:開發(fā)技術

這篇文章主要介紹了C#中ArrayList類如何使用的相關知識,內(nèi)容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇C#中ArrayList類如何使用文章都會有所收獲,下面我們一起來看看吧。

一:ArrayList 類簡單說明

動態(tài)數(shù)組ArrayList類在System.Collecions的命名空間下,所以使用時要加入System.Collecions命名空間,而且ArrayList提供添加,插入或移除某一范圍元素的方法。ArrayList代表了可被單獨索引的對象的有序集合。它基本上可以替代一個數(shù)組。但是,與數(shù)組不同的是,您可以使用索引在指定的位置添加和移除項目,動態(tài)數(shù)組會自動重新調(diào)整它的大小。它也允許在列表中進行動態(tài)內(nèi)存分配、增加、搜索、排序 各項。

二:ArrayList 類的構造函數(shù)

構造函數(shù)構造函數(shù)說明
ArrayList()初始化 ArrayList 類的新實例,該實例為空并且具有默認初始容量。
ArrayList(ICollection)初始化 ArrayList 類的新實例,該類包含從指定集合復制的元素,并具有與復制的元素數(shù)相同的初始容量。
ArrayList(Int32)初始化 ArrayList 類的新實例,該實例為空并且具有指定的初始容量。

三:ArrayList 類的屬性

屬性屬性說明
Capacity獲取或設置 ArrayList 可包含的元素數(shù)。
Count獲取 ArrayList 中實際包含的元素數(shù)。
IsFixedSize獲取一個值,該值指示 ArrayList 是否具有固定大小。
IsReadOnly獲取一個值,該值指示 ArrayList 是否為只讀。
IsSynchronized獲取一個值,該值指示是否同步對 ArrayList 的訪問(線程安全)
Item[Int32]獲取或設置指定索引處的元素。
SyncRoot獲取可用于同步對 ArrayList 的訪問的對象。

1:使用舉例說明

// 創(chuàng)建一個空的ArrayList,并添加一些元素.
ArrayList stringList = new ArrayList();
stringList.Add("a");
stringList.Add("abc");
stringList.Add("abcdef");
stringList.Add("abcdefg");

Console.WriteLine("Element {0} is \"{1}\"", 2, stringList[2]);
try
{
    Console.WriteLine("Element {0} is \"{1}\"", 4, stringList[4]);
}
catch (ArgumentOutOfRangeException aoore)
{
    Console.WriteLine("stringList({0}) is out of range.", 4);
}

運行結果:

Element 2 is "abcdef"
stringList(4) is out of range.

四:ArrayList 類的常用方法

方法方法說明
Add(Object)將對象添加到 ArrayList 的結尾處。
AddRange(ICollection)將 ICollection 的元素添加到 ArrayList 的末尾。
Clear()從 ArrayList 中移除所有元素。
Clone()創(chuàng)建 ArrayList 的淺表副本。
Contains(Object)確定某元素是否在 ArrayList 中。
CopyTo(Array)從目標數(shù)組的開頭開始,將整個 ArrayList 復制到兼容的一維 Array。
Equals(Object)確定指定對象是否等于當前對象。
GetRange(Int32, Int32)返回一個 ArrayList,它表示源 ArrayList 中的元素子集。
IndexOf(Object)搜索指定的 Object,并返回整個 ArrayList 中第一個匹配項的從零開始的索引。
LastIndexOf(Object)在整個 ArrayList 中搜索指定的 Object,并返回最后一個匹配項的從零開始的索引。
Insert(Int32, Object)將元素插入 ArrayList 的指定索引處。
Remove(Object)從 ArrayList 中移除特定對象的第一個匹配項。
RemoveAt(Int32)移除 ArrayList 的指定索引處的元素。
Reverse()將整個 ArrayList 中元素的順序反轉(zhuǎn)。
Sort()對整個 ArrayList 中的元素進行排序。
ToArray()將 ArrayList 的元素復制到新 Object 數(shù)組中。
ToString()返回表示當前對象的字符串。

1: AddRange(ICollection)方法使用舉例

// 創(chuàng)建并初始化新的ArrayList
ArrayList myAL = new ArrayList();
myAL.Add("ab");
myAL.Add("cd");
myAL.Add("efg");

// 創(chuàng)建并初始化新隊列.
Queue myQueue = new Queue();
myQueue.Enqueue("and");
myQueue.Enqueue("new arraylist");

// 將隊列元素復制到ArrayList的末尾.
myAL.AddRange(myQueue);

foreach (Object obj in myAL)
{
    Console.Write("{0} ",obj);
}

運行結果:

ab cd efg and new arraylist

2: ArrayList.Clone() 方法使用舉例

// 創(chuàng)建并初始化新的ArrayList
ArrayList myAL = new ArrayList();
myAL.Add("ab");
myAL.Add("cd");
myAL.Add("efg");

// 克隆動態(tài)數(shù)組到新的動態(tài)數(shù)組里.
ArrayList newArray = (ArrayList)myAL.Clone();

foreach (Object obj in newArray)
{
    Console.Write("{0} ",obj);
}

運行結果:

ab cd efg

3:ArrayList.Remove(Object) 使用舉例

ArrayList myAL = new ArrayList();

myAL.Add("ab");
myAL.Add("cd");
myAL.Add("efg");
myAL.Add(true);


myAL.Remove(true);//移除單個元素
foreach (Object obj in myAL)
{
    Console.Write("{0} ", obj);
}

運行結果:

ab cd efg

4:ArrayList.RemoveAt(Int32) 使用舉例

ArrayList myAL = new ArrayList();

myAL.Add("ab");
myAL.Add("cd");
myAL.Add("efg");

myAL.RemoveAt(1);//根據(jù)下標號刪除元素
foreach (Object obj in myAL)
{
    Console.Write("{0} ", obj);
}

運行結果:

ab efg

5:ArrayList.RemoveAt(Int32) 使用舉例

ArrayList myAL = new ArrayList();

myAL.Add("ab");
myAL.Add("cd");
myAL.Add("efg");
myAL.Add("lm");
myAL.Add("nopq");

myAL.RemoveRange(1,3);//根據(jù)下標范圍刪除元素
foreach (Object obj in myAL)
{
    Console.Write("{0} ", obj);
}

運行結果:

ab nopq

6:ArrayList.Reverse() 使用舉例

ArrayList myAL = new ArrayList();

myAL.Add("ab");
myAL.Add("cd");
myAL.Add("efg");

myAL.Reverse();//反轉(zhuǎn)所有元素
foreach (Object obj in myAL)
{
    Console.Write("{0} ", obj);
}

運行結果:

efg cd ab

7:ArrayList.Insert(Int32, Object)使用舉例

ArrayList myAL = new ArrayList();

myAL.Add("ab");
myAL.Add("cd");
myAL.Add("efg");

myAL.Insert(2,"new");
foreach (Object obj in myAL)
{
    Console.Write("{0} ", obj);
}

運行結果:

ab cd new efg

8:ArrayList.InsertRange(Int32, ICollection) 使用舉例

ArrayList myAL = new ArrayList();
int[] shuzu= {1,2,3,4,5};
myAL.Add("ab");
myAL.Add("cd");
myAL.Add("efg");

myAL.InsertRange(2, shuzu);//指定位置,插入集合
foreach (Object obj in myAL)
{
    Console.Write("{0} ", obj);
}

運行結果:

ab cd 1 2 3 4 5 efg

9:ArrayList.Contains(Object) 使用舉例

ArrayList myAL = new ArrayList();
myAL.Add("ab");
myAL.Add("cd");
myAL.Add("efg");
myAL.Add("nopq");

bool b = myAL.Contains("nopq");//是否包含指定元素
Console.WriteLine("是否包含nopq = {0}", b);

運行結果:

是否包含nopq = true

關于“C#中ArrayList類如何使用”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“C#中ArrayList類如何使用”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI