首先说明一下ArrayList 与 数组的区别:
(1)ArrayList 的容量可以根据需要自由扩充,数组的容量是固定的
(2)ArrayList 只能是一维形式,数组可以是多维的
(3)ArrayList 提供将只读和固定大小包装返回到集合的方法,数组不提供
(4)ArrayList 提供添加、插入和删除某一范围元素的方法,数组中只能一次获取或设置一个元素的值
ArrayList:
一、使用时添加引用
using System.Collections;
二、初始化
ArrayList List = new ArrayList();
ArrayList List = new ArrayList(数组名);//初始化是把一个数组的所有元素添加进来
三、遍历
三种遍历方法:
(1)for循环,最常用(遍历过程中可以更改)
String abc="";
for (int i = 0; i < List.Count; i++) {
abc += "," + List[i].ToString();
}
(2)foreach循环,(如果是数组,使用foreach只能做查询,因为foreach遍历的是副本)
String abc="";
foreach (object n in List) {
abc += "," + n.ToString();
}
(3)这种方法是从网上找的
String abc="";
IEnumerator ie=al.GetEnumerator();
while(ie.MoveNext()){
abc += "," +ie.Curret.ToString();
}
四、查询
(1)Bool型,返回值为True 、False
List.Contains(元素);
(2)int 型,为索引
1>第一次匹配的索引
List.IndexOf(元素);
List.IndexOf(元素,开始位置的索引);
List.IndexOf(元素,开始位置的索引,往后查找多少元素为止);
2>最后一次匹配的索引(此索引为逆序);等同最后一次匹配的索引后面元素的个数,同 IndexOf 类似
List.LastIndexOf(元素);
五、插入
(1)Add 只能插入到末尾
List.Add("元素或数组名");
(2)Insert 可以是任意位置
List.Insert(索引,元素);
List.InsertRange(索引,数组名);
五、删除
(1)删除所有
List.Clear();
(2)删除某一个元素
List.Remove(元素);
List.RemoveAt(元素的索引);
(3)删除某一范围的元素
List.RemoveRange(索引,个数);