ArrayList与Array
- Array的大小是固定的,不能更改,而ArrayList被称为动态数组。
- ArrayList类在System.Collections命名空间下,所以在使用时要先引入这个命名空间。
using System.Collections;
- 而且ArrayList提供能够添加、插入、移除某一范围元素的方法。
在ArrayList中,只能一次获取或者设置一个元素的值。
ArrayList类的常用方法
ArrayList类元素的添加
两种方法:Add和AddRange(range意为:范围、集合)
- 将单个元素添加到数组的尾部
ArrayList 对象.Add(要添加的值);
- 将一个数组添加到ArrayList列表的尾部
ArrayList 对象.AddRange(要添加的数组);
实例
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//引入指定的命名空间
using System.Collections;
namespace Format
{
class Program
{
static void Main(string[] args)
{
ArrayList al = new ArrayList(3);
//System.Collections.ArrayList al = new System.Collections.ArrayList(3);
//没有引入命名空间的情况下,也可以用这种方式使用命名空间中的类
Console.WriteLine("未添加之前al列表中元素的个数为:" + al.Count + "个");
al.Add("abc");
al.Add(10);
al.Add(50);
Console.WriteLine("添加后列表中元素的个数为:" + al.Count + "个");
string[] str = { "last1", "last2" };
al.AddRange(str);
Console.WriteLine("AddRange添加后列表中元素的个数为:" + al.Count + "个");
Console.ReadLine();
}
}
}
ArrayList元素的删除
四种删除元素的方法
- Remove方法,接受一个object类型的值(即要删除的值),并将列表中第一个符合该值的元素删除。
ArrayList 对象.Remove(要删除的值);
- RemoveAt方法,接受一个int型的参数(要删除的值的索引),将指定索引的元素删除。
ArrayList 对象.RemoveAt(要删除的值的索引);
- RemoveRange方法,从集合中删除一定范围的值
ArrayList 对象.RemoveRange(开始的索引,删除的个数);
//索引所在的元素不会被删除,删除的是这个索引之后的n个元素
- Clear方法,清除所有元素
ArrayList元素的遍历
与数组相同,依然是使用for和foreach两种模式
注意
- 因为列表中的元素格式不固定,所以在输出时要统一转换为String模式,以防止出错。
al[0].toString()
- 使用foreach时要用object类型来接受列表中的元素,object包括各种格式,不会出错
foreach(object list in al){}
ArrayList元素的查找
与数组大致相同,有三个方法:IndexOf(要搜索的字符)、LastIndexOf(要搜索的字符)、BinarySearch(要搜索的字符)
返回值小于0,则表示该字符不存在。