C#中ArrayList?類的使用詳解
一:ArrayList 類簡(jiǎn)單說明
動(dòng)態(tài)數(shù)組ArrayList類在System.Collecions的命名空間下,所以使用時(shí)要加入System.Collecions命名空間,而且ArrayList提供添加,插入或移除某一范圍元素的方法。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 類的構(gòu)造函數(shù)
構(gòu)造函數(shù) | 構(gòu)造函數(shù)說明 |
---|---|
ArrayList() | 初始化 ArrayList 類的新實(shí)例,該實(shí)例為空并且具有默認(rèn)初始容量。 |
ArrayList(ICollection) | 初始化 ArrayList 類的新實(shí)例,該類包含從指定集合復(fù)制的元素,并具有與復(fù)制的元素?cái)?shù)相同的初始容量。 |
ArrayList(Int32) | 初始化 ArrayList 類的新實(shí)例,該實(shí)例為空并且具有指定的初始容量。 |
三:ArrayList 類的屬性
屬性 | 屬性說明 |
---|---|
Capacity | 獲取或設(shè)置 ArrayList 可包含的元素?cái)?shù)。 |
Count | 獲取 ArrayList 中實(shí)際包含的元素?cái)?shù)。 |
IsFixedSize | 獲取一個(gè)值,該值指示 ArrayList 是否具有固定大小。 |
IsReadOnly | 獲取一個(gè)值,該值指示 ArrayList 是否為只讀。 |
IsSynchronized | 獲取一個(gè)值,該值指示是否同步對(duì) ArrayList 的訪問(線程安全) |
Item[Int32] | 獲取或設(shè)置指定索引處的元素。 |
SyncRoot | 獲取可用于同步對(duì) ArrayList 的訪問的對(duì)象。 |
1:使用舉例說明
// 創(chuàng)建一個(gè)空的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); }
運(yùn)行結(jié)果:
Element 2 is "abcdef"
stringList(4) is out of range.
四:ArrayList 類的常用方法
方法 | 方法說明 |
---|---|
Add(Object) | 將對(duì)象添加到 ArrayList 的結(jié)尾處。 |
AddRange(ICollection) | 將 ICollection 的元素添加到 ArrayList 的末尾。 |
Clear() | 從 ArrayList 中移除所有元素。 |
Clone() | 創(chuàng)建 ArrayList 的淺表副本。 |
Contains(Object) | 確定某元素是否在 ArrayList 中。 |
CopyTo(Array) | 從目標(biāo)數(shù)組的開頭開始,將整個(gè) ArrayList 復(fù)制到兼容的一維 Array。 |
Equals(Object) | 確定指定對(duì)象是否等于當(dāng)前對(duì)象。 |
GetRange(Int32, Int32) | 返回一個(gè) ArrayList,它表示源 ArrayList 中的元素子集。 |
IndexOf(Object) | 搜索指定的 Object,并返回整個(gè) ArrayList 中第一個(gè)匹配項(xiàng)的從零開始的索引。 |
LastIndexOf(Object) | 在整個(gè) ArrayList 中搜索指定的 Object,并返回最后一個(gè)匹配項(xiàng)的從零開始的索引。 |
Insert(Int32, Object) | 將元素插入 ArrayList 的指定索引處。 |
Remove(Object) | 從 ArrayList 中移除特定對(duì)象的第一個(gè)匹配項(xiàng)。 |
RemoveAt(Int32) | 移除 ArrayList 的指定索引處的元素。 |
Reverse() | 將整個(gè) ArrayList 中元素的順序反轉(zhuǎn)。 |
Sort() | 對(duì)整個(gè) ArrayList 中的元素進(jìn)行排序。 |
ToArray() | 將 ArrayList 的元素復(fù)制到新 Object 數(shù)組中。 |
ToString() | 返回表示當(dāng)前對(duì)象的字符串。 |
1: AddRange(ICollection)方法使用舉例
// 創(chuàng)建并初始化新的ArrayList ArrayList myAL = new ArrayList(); myAL.Add("ab"); myAL.Add("cd"); myAL.Add("efg"); // 創(chuàng)建并初始化新隊(duì)列. Queue myQueue = new Queue(); myQueue.Enqueue("and"); myQueue.Enqueue("new arraylist"); // 將隊(duì)列元素復(fù)制到ArrayList的末尾. myAL.AddRange(myQueue); foreach (Object obj in myAL) { Console.Write("{0} ",obj); }
運(yùn)行結(jié)果:
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"); // 克隆動(dòng)態(tài)數(shù)組到新的動(dòng)態(tài)數(shù)組里. ArrayList newArray = (ArrayList)myAL.Clone(); foreach (Object obj in newArray) { Console.Write("{0} ",obj); }
運(yùn)行結(jié)果:
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);//移除單個(gè)元素 foreach (Object obj in myAL) { Console.Write("{0} ", obj); }
運(yùn)行結(jié)果:
ab cd efg
4:ArrayList.RemoveAt(Int32) 使用舉例
ArrayList myAL = new ArrayList(); myAL.Add("ab"); myAL.Add("cd"); myAL.Add("efg"); myAL.RemoveAt(1);//根據(jù)下標(biāo)號(hào)刪除元素 foreach (Object obj in myAL) { Console.Write("{0} ", obj); }
運(yùn)行結(jié)果:
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ù)下標(biāo)范圍刪除元素 foreach (Object obj in myAL) { Console.Write("{0} ", obj); }
運(yùn)行結(jié)果:
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); }
運(yùn)行結(jié)果:
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); }
運(yùn)行結(jié)果:
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); }
運(yùn)行結(jié)果:
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);
運(yùn)行結(jié)果:
是否包含nopq = true
到此這篇關(guān)于C#中ArrayList 類的使用詳解的文章就介紹到這了,更多相關(guān)C# ArrayList 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 輕松學(xué)習(xí)C#的ArrayList類
- 詳解c#中Array,ArrayList與List<T>的區(qū)別、共性與相互轉(zhuǎn)換
- 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詳細(xì)對(duì)比
相關(guān)文章
C#使用Exchange實(shí)現(xiàn)發(fā)送郵件
最近項(xiàng)目中需要用到exchange的操作,所以本文就參照msdn弄了一個(gè)簡(jiǎn)單的C#操作類,實(shí)現(xiàn)了發(fā)送郵件和拉取收件箱的功能,感興趣的小伙伴可以了解下2023-10-10C#與PHP的md5計(jì)算結(jié)果不同的解決方法
今天在用C#接入我的登錄api發(fā)現(xiàn)了一個(gè)問題,登陸的時(shí)候無(wú)論如何都會(huì)出現(xiàn)用戶名和密碼錯(cuò)誤的問題,后來(lái)通過查找排除找的了問題的原因是因?yàn)镃#與PHP的md5計(jì)算結(jié)果不同導(dǎo)致的,下面就來(lái)看看如何解決這個(gè)問題吧。2016-12-12C#使用WMI實(shí)現(xiàn)監(jiān)聽進(jìn)程的啟動(dòng)和關(guān)閉
Windows Management Instrumentation(WMI)是用于管理基于 Windows 操作系統(tǒng)的數(shù)據(jù)和操作的基礎(chǔ)結(jié)構(gòu),本文將使用WMI實(shí)現(xiàn)監(jiān)聽進(jìn)程的啟動(dòng)和關(guān)閉,感興趣的可以了解下2024-01-01C#中數(shù)組、ArrayList和List三者的區(qū)別詳解及實(shí)例
這篇文章主要介紹了C#中數(shù)組、ArrayList和List三者的區(qū)別詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下2016-12-12C#中的自動(dòng)類型轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換
這篇文章主要介紹了C#中的自動(dòng)類型轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換,非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-08-08