集合
1、集合的引用
using System.Collections;//添加类
2、定义集合(ArrayList 或 Array)
ArrayList arr = new ArrayList();
3、添加数据(可以放多种不同数据类型,但最好只放一种)
(一)单个数据
方法1:add增加
arr.Add(3); arr.Add(5); arr.Add("hello");
输出结果:
Console.WriteLine("add[0]:"+arr[0]); //通过添加元素的先后顺序生成从0开始的索引,通过索引读取数据,输出结果为"3" Console.WriteLine("add[1]:" + arr[1]);//5 Console.WriteLine("add[2]:"+arr[2]);//hello
方法2:insert插入,使从索引所示的数据开始的数据向后移动一位
arr.Insert(1, 17);//Insert(索引,插入的数据)
输出结果:
Console.WriteLine("insert[0]"+arr[0]);//3 Console.WriteLine("insert[1]" + arr[1]);//17 Console.WriteLine("insert[2]" + arr[2]);//5 Console.WriteLine("insert[3]" + arr[3]);//hello
(二)数组:
1、追加一组数据addrange
int[] shuzu = new int[3] { 6, 7, 8 }; arr.AddRange(shuzu);
遍历:
foreach (object o in arr)//因为集合中可能会有多种数据,所以要用object(基类)进行遍历,所有类型都可以转化为这个类型 { Console.WriteLine("遍历1:" + o); }
2、从指定索引开始插入一组数据InsertRange
arr.InsertRange(2, shuzu); //遍历 foreach (object o in arr) { Console.WriteLine("遍历2:" + o); }
4、移除数据:(只移除第一个匹配项)
(一)移除指定数据(值):Remove
arr.Remove(17);//移除值为17的数据 foreach (object o in arr) { Console.WriteLine("Remove后:" + o); }
(二)移除指定索引位置的元素:RemoveAt
arr.RemoveAt(2); Console.WriteLine("Remove后索引为[3]的数据:"+arr[3]);
5、排序:
(1)sort:自动按升序排列
ArrayList arr1 = new ArrayList(); for (int i = 0; i < 5; i++) { arr1.Add(int.Parse(Console.ReadLine())); } arr1.Sort(); foreach (object o in arr1) { Console.WriteLine("升序sort:"+o); }
(2)Reverse:翻转集合的排序(使其变为降序)
arr1.Reverse(); foreach (object o in arr1) { Console.WriteLine("翻转reverse后降序:"+o); }
6、集合的属性:
count:返回集合里面有多少元素
Console.WriteLine("元素个数为:" + arr1.Count);
7、返回索引IndexOf
Console.WriteLine("hello所在的索引为:"+arr.IndexOf("hello"));//只返回第一个匹配项所在的索引 Console.WriteLine("hello所在的最后一个匹配项所在的索引为:" + arr.LastIndexOf("hello"));//返回最后一个匹配项所在的索引
**插入的数组索引也是按单个数据排列的,如:插入一组三个数的数组,会建立三个索引。
8、contains:判断是否有某个元素,返回bool值
arr.Contains(1);
9、清空集合
arr.Clear();