摘要
ArrayList类在System.Collecions的命名空间下,所以使用时要加入System.Collecions命名空间,而且ArrayList提供添加,插入或移除某一范围元素的方法。在ArrayList中,用户只能一次获取或设置一个元素的值。
正文
不建议将类用于 ArrayList 新开发。 相反,我们建议使用泛型 List
- 对于对象的异类集合,请使用 List
- 对于对象的同质集合,请使用 List
该类。
属性
Capacity | 获取或设置 ArrayList 可包含的元素数。 |
Count | 获取 ArrayList 中实际包含的元素数。 |
IsFixedSize | 获取一个值,该值指示 ArrayList 是否具有固定大小。 |
IsReadOnly | 获取一个值,该值指示 ArrayList 是否为只读。 |
IsSynchronized | 获取一个值,该值指示是否同步对 ArrayList 的访问(线程安全)。 |
Item[Int32] | 获取或设置指定索引处的元素。 |
SyncRoot | 获取可用于同步对 ArrayList 的访问的对象。 |
方法
Adapter(IList) | 为特定 IList 创建 ArrayList 包装。 |
Add(Object) | 将对象添加到 ArrayList 的结尾处。 |
AddRange(ICollection) | 将 ICollection 的元素添加到 ArrayList 的末尾。 |
BinarySearch(Int32, Int32, Object, IComparer) | 使用指定的比较器在已排序 ArrayList 的某个元素范围中搜索元素,并返回该元素从零开始的索引。 |
BinarySearch(Object) | 使用默认的比较器在整个已排序的 ArrayList 中搜索元素,并返回该元素从零开始的索引。 |
BinarySearch(Object, IComparer) | 使用指定的比较器在整个已排序的 ArrayList 中搜索元素,并返回该元素从零开始的索引。 |
Clear() | 从 ArrayList 中移除所有元素。 |
Clone() | 创建 ArrayList 的浅表副本。 |
Contains(Object) | 确定某元素是否在 ArrayList 中。 |
CopyTo(Array) | 从目标数组的开头开始,将整个 ArrayList 复制到兼容的一维 Array。 |
CopyTo(Array, Int32) | 从目标数组的指定索引处开始将整个 ArrayList 复制到兼容的一维 Array。 |
CopyTo(Int32, Array, Int32, Int32) | 从目标数组的指定索引处开始,将 ArrayList 中某个范围的元素复制到兼容的一维数组 Array。 |
Equals(Object) | 确定指定对象是否等于当前对象。 |
FixedSize(ArrayList) | 返回具有固定大小的 ArrayList 包装。 |
FixedSize(IList) | 返回具有固定大小的 IList 包装。 |
GetEnumerator() | 返回用于整个 ArrayList 的枚举数。 |
GetEnumerator(Int32, Int32) | 返回 ArrayList 中元素范围的枚举器。 |
GetRange(Int32, Int32) | 返回一个 ArrayList,它表示源 ArrayList 中的元素子集。 |
IndexOf(Object) | 搜索指定的 Object,并返回整个 ArrayList 中第一个匹配项的从零开始的索引。 |
IndexOf(Object, Int32) | 搜索指定的 Object,并返回 ArrayList 中从指定索引到最后一个元素的元素范围中第一个匹配项的从零开始索引。 |
IndexOf(Object, Int32, Int32) | 搜索指定的 Object,并返回 ArrayList 中从指定索引开始,并包含指定元素数的元素范围中第一个匹配项的从零开始的索引。 |
Insert(Int32, Object) | 将元素插入 ArrayList 的指定索引处。 |
InsertRange(Int32, ICollection) | 将集合中的元素插入 ArrayList 的指定索引处。 |
LastIndexOf(Object) | 在整个 ArrayList 中搜索指定的 Object,并返回最后一个匹配项的从零开始的索引。 |
LastIndexOf(Object, Int32) | 搜索指定的 Object,并返回 ArrayList 中从第一个元素到指定索引这部分元素中最后一个匹配项的从零开始索引。 |
LastIndexOf(Object, Int32, Int32) | 搜索指定的 Object,并返回 ArrayList 中到指定索引为止包含指定元素数的这部分元素中最后一个匹配项的从零开始的索引。 |
ReadOnly(ArrayList) | 返回只读的 ArrayList 包装。 |
ReadOnly(IList) | 返回只读的 IList 包装。 |
Remove(Object) | 从 ArrayList 中移除特定对象的第一个匹配项。 |
RemoveAt(Int32) | 移除 ArrayList 的指定索引处的元素。 |
RemoveRange(Int32, Int32) | 从 ArrayList 中移除一系列元素。 |
Repeat(Object, Int32) | 返回 ArrayList,其元素是指定值的副本。 |
Reverse() | 将整个 ArrayList 中元素的顺序反转。 |
Reverse(Int32, Int32) | 将指定范围中元素的顺序反转。 |
SetRange(Int32, ICollection) | 复制 ArrayList 中一个子集合的元素。 |
Sort() | 对整个 ArrayList 中的元素进行排序。 |
Sort(IComparer) | 使用指定的比较器对整个 ArrayList 中的元素进行排序。 |
Sort(Int32, Int32, IComparer) | 使用指定的比较器对 ArrayList 中某个范围内的元素进行排序。 |
Synchronized(ArrayList) | 返回同步的(线程安全)ArrayList 包装器。 |
Synchronized(IList) | 返回同步的(线程安全)IList 包装器。 |
ToArray() | 将 ArrayList 的元素复制到新 Object 数组中。 |
ToArray(Type) | 将 ArrayList 的元素复制到新的指定元素类型数组中。 |
ArrayList元素的添加
private void btnAdd_Click(object sender, EventArgs e)
{
ArrayList array = new ArrayList();
array.Add(1);
array.Add("张飞");
array.Add(10.4f);
string[] ary1 = { "hello", "world" };
array.AddRange(ary1);
foreach (var item in array)
{
MessageBox.Show(item.ToString());
}
}
ArrayList元素的删除
private void btnDelete_Click(object sender, EventArgs e)
{
array.RemoveAt(2);
array.Remove("张飞");//用于移除指定元素值的第一个匹配集合元素
foreach (var item in array)
{
MessageBox.Show(item.ToString());
}
array.RemoveRange(1, 2);//从1开始,删除2个元素
array.Clear();//删除所有
}
ArrayList元素的查找
private void btnSearch_Click(object sender, EventArgs e)
{
int idx = array.IndexOf(txtSearch.Text);
MessageBox.Show(idx.ToString());
idx = array.LastIndexOf(txtSearch.Text);
MessageBox.Show(idx.ToString());
}
是否包括
var ret = array.Contains(10.4f);
MessageBox.Show(ret.ToString());