一、在使用ArrayList集合的时候,需要创建集合对象
二、ArrayList是一个存储很多数据的集合
三、集合与数组的区别:
数组:固定长度,类型单一
集合:长度可以不固定,可以是任何类型
四、ArrayList集合的属性与方法
1.集合的长度 集合名.count
ArrayList list = new ArrayList(); list.Add(1); list.Add(1); list.Add(1); list.Add(1); list.Add(1); //当集合中实际元素元素中的个数超过集合可以容纳的个数时, //集合就会向内存多申请一倍的空间,来保证集合中的空间一直可用 Console.WriteLine(list.Count); Console.WriteLine(list.Capacity); Console.ReadKey(); //count 这个集合中实际包含的元素个数 //capcity 这个集合中可以包含的元素个数
2.集合的各种方法
1)添加单个元素 Add()
//创建集合对象 ArrayList list = new ArrayList(); list.Add(1); list.Add(true); for (int i=0;i<list.Count;i++) { Console.WriteLine(list[i]); } Console.ReadKey();
2)添加集合元素 AddRange()
//创建集合对象 ArrayList list = new ArrayList(); list.AddRange(new int[] {1,2,3,4 }); for (int i=0;i<list.Count;i++) { Console.WriteLine(list[i]); } Console.ReadKey();
3)单个元素删除 Remove()
ArrayList list = new ArrayList(); list.AddRange(new int[] {1,2,3,4 }); list.Remove(1); for (int i=0;i<list.Count;i++) { Console.WriteLine(list[i]); } Console.ReadKey();
4)根据索引下标对元素进行删除 RemoveAt()
ArrayList list = new ArrayList(); list.AddRange(new int[] {1,2,3,4 }); list.RemoveAt(2); for (int i=0;i<list.Count;i++) { Console.WriteLine(list[i]); }
5)根据下标,删除一定范围为的元素 RemoveRange(下标位置,删除个数)
ArrayList list = new ArrayList(); list.AddRange(new int[] {1,2,3,4 }); list.RemoveRange(2,1); for (int i=0;i<list.Count;i++) { Console.WriteLine(list[i]); }
6)进行升序排序,无法进行升序排序,报异常错误
sort():若有布尔等类型无法进行排序时,会出异常
7)进行反转 Reverse()
ArrayList list = new ArrayList(); list.AddRange(new int[] {1,2,3,4 }); list.Reverse();
8)插入单个元素,无数据类型要求 Insert(下标位置,插入的数据)
ArrayList list = new ArrayList(); list.AddRange(new int[] {1,2,3,4 }); list.Insert(2,"插入的");
9)插入多个元素 InsertRange(下标位置,插入的一系列元素)
ArrayList list = new ArrayList(); list.AddRange(new int[] {1,2,3,4 }); list.InsertRange(2, new int[] { 5, 6, 8 });
10)判断集合中是否包含某个元素 Contains()
ArrayList list = new ArrayList(); list.AddRange(new int[] {1,2,3,4 }); list.InsertRange(2, new int[] { 5, 6, 8 }); if (!list.Contains(1)) { list.Add(1); } else { Console.WriteLine("已经存在该元素"); }
11)清空所有元素 Clear()
ArrayList list = new ArrayList(); list.AddRange(new int[] {1,2,3,4 }); list.InsertRange(2, new int[] { 5, 6, 8 }); list.Clear();