C#中ArrayList?類的使用詳解
一:ArrayList 類簡單說明
動態(tài)數(shù)組ArrayList類在System.Collecions的命名空間下,所以使用時要加入System.Collecions命名空間,而且ArrayList提供添加,插入或移除某一范圍元素的方法。ArrayList代表了可被單獨索引的對象的有序集合。它基本上可以替代一個數(shù)組。但是,與數(shù)組不同的是,您可以使用索引在指定的位置添加和移除項目,動態(tài)數(shù)組會自動重新調整它的大小。它也允許在列表中進行動態(tà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 中元素的順序反轉。 |
| 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();//反轉所有元素
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 類的使用詳解的文章就介紹到這了,更多相關C# ArrayList 內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- 輕松學習C#的ArrayList類
- 詳解c#中Array,ArrayList與List<T>的區(qū)別、共性與相互轉換
- C# ArrayList、HashSet、HashTable、List、Dictionary的區(qū)別詳解
- C#入門教程之集合ArrayList用法詳解
- C#中數(shù)組、ArrayList、List、Dictionary的用法與區(qū)別淺析(存取數(shù)據(jù))
- C# 中 Array和 ArrayList詳解及區(qū)別
- C#中數(shù)組、ArrayList和List三者的區(qū)別詳解
- C#中數(shù)組Array,ArrayList,泛型List詳細對比
相關文章
詳解C#編程中異常的創(chuàng)建和引發(fā)以及異常處理
這篇文章主要介紹了C#編程中異常的創(chuàng)建和引發(fā)以及異常處理,文中介紹了Catch塊和Finally塊等基本的異常處理要點,需要的朋友可以參考下2016-02-02
C#自定義鼠標拖拽Drag&Drop效果之基本原理及基本實現(xiàn)代碼
拖拽效果無論是在系統(tǒng)上、應用上、還是在網(wǎng)頁上,拖拽隨處可見,下面通過本文介紹下C#自定義鼠標拖拽Drag&Drop效果之基本原理及基本實現(xiàn)代碼,需要的朋友可以參考下2022-04-04
c#中Empty()和DefalutIfEmpty()用法分析
這篇文章主要介紹了c#中Empty()和DefalutIfEmpty()用法,以實例形式分析了針對不同情況下Empty()和DefalutIfEmpty()用法區(qū)別,需要的朋友可以參考下2014-11-11

