这篇文章主要介绍了C#中ArrayList 类的使用详解,动态数组ArrayList类在System.Collecions的命名空间下,所以使用时要加入System.Collecions命名空间,而且ArrayList提供添加,插入或移除某一范围元素的方法
一:ArrayList 类简单说明
动态数组ArrayList类在System.Collecions的命名空间下,所以使用时要加入System.Collecions命名空间,而且ArrayList提供添加,插入或移除某一范围元素的方法。ArrayList代表了可被单独索引的对象的有序集合。它基本上可以替代一个数组。但是,与数组不同的是,您可以使用索引在指定的位置添加和移除项目,动态数组会自动重新调整它的大小。它也允许在列表中进行动态内存分配、增加、搜索、排序 各项。
二:ArrayList 类的构造函数
构造函数 | 构造函数说明 |
---|---|
ArrayList() | 初始化 ArrayList 类的新实例,该实例为空并且具有默认初始容量。 |
ArrayList(ICollection) | 初始化 ArrayList 类的新实例,该类包含从指定集合复制的元素,并具有与复制的元素数相同的初始容量。 |
ArrayList(Int32) | 初始化 ArrayList 类的新实例,该实例为空并且具有指定的初始容量。 |
三:ArrayList 类的属性
属性 | 属性说明 |
---|---|
Capacity | 获取或设置 ArrayList 可包含的元素数。 |
Count | 获取 ArrayList 中实际包含的元素数。 |
IsFixedSize | 获取一个值,该值指示 ArrayList 是否具有固定大小。 |
IsReadOnly | 获取一个值,该值指示 ArrayList 是否为只读。 |
IsSynchronized | 获取一个值,该值指示是否同步对 ArrayList 的访问(线程安全) |
Item[Int32] | 获取或设置指定索引处的元素。 |
SyncRoot | 获取可用于同步对 ArrayList 的访问的对象。 |
1:使用举例说明
// 创建一个空的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() | 创建 ArrayList 的浅表副本。 |
Contains(Object) | 确定某元素是否在 ArrayList 中。 |
CopyTo(Array) | 从目标数组的开头开始,将整个 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 数组中。 |
ToString() | 返回表示当前对象的字符串。 |
1: AddRange(ICollection)方法使用举例
// 创建并初始化新的ArrayList
ArrayList myAL = new ArrayList();
myAL.Add("ab");
myAL.Add("cd");
myAL.Add("efg");
// 创建并初始化新队列.
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() 方法使用举例
// 创建并初始化新的ArrayList
ArrayList myAL = new ArrayList();
myAL.Add("ab");
myAL.Add("cd");
myAL.Add("efg");
// 克隆动态数组到新的动态数组里.
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);//根据下标号删除元素
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);//根据下标范围删除元素
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 内容请搜索得得之家以前的文章希望大家以后多多支持得得之家!
本文标题为:C#中ArrayList 类的使用详解
基础教程推荐
- C#类和结构详解 2023-05-30
- C# List实现行转列的通用方案 2022-11-02
- linux – 如何在Debian Jessie中安装dotnet core sdk 2023-09-26
- winform把Office转成PDF文件 2023-06-14
- C#控制台实现飞行棋小游戏 2023-04-22
- C# 调用WebService的方法 2023-03-09
- ZooKeeper的安装及部署教程 2023-01-22
- C# windows语音识别与朗读实例 2023-04-27
- 一个读写csv文件的C#类 2022-11-06
- unity实现动态排行榜 2023-04-27