集合
1、集合的引用
using System.Collections;//添加类
2、定义集合(ArrayList 或 Array)
ArrayList arr = new ArrayList();
3、添加数据(可以放多种不同数据类型,但最好只放一种)
(一)单个数据
方法1:add增加
arr.Add();
arr.Add();
arr.Add("hello");
输出结果:
Console.WriteLine("add[0]:"+arr[]); //通过添加元素的先后顺序生成从0开始的索引,通过索引读取数据,输出结果为"3"
Console.WriteLine("add[1]:" + arr[]);//5
Console.WriteLine("add[2]:"+arr[]);//hello
方法2:insert插入,使从索引所示的数据开始的数据向后移动一位
arr.Insert(, );//Insert(索引,插入的数据)
输出结果:
Console.WriteLine("insert[0]"+arr[]);//
Console.WriteLine("insert[1]" + arr[]);//
Console.WriteLine("insert[2]" + arr[]);//
Console.WriteLine("insert[3]" + arr[]);//hello
(二)数组:
1、追加一组数据addrange
int[] shuzu = new int[] { , , };
arr.AddRange(shuzu);
遍历:
foreach (object o in arr)//因为集合中可能会有多种数据,所以要用object(基类)进行遍历,所有类型都可以转化为这个类型
{
Console.WriteLine("遍历1:" + o);
}
2、从指定索引开始插入一组数据InsertRange
arr.InsertRange(, shuzu);
//遍历
foreach (object o in arr)
{
Console.WriteLine("遍历2:" + o);
}
4、移除数据:(只移除第一个匹配项)
(一)移除指定数据(值):Remove
arr.Remove();//移除值为17的数据
foreach (object o in arr)
{
Console.WriteLine("Remove后:" + o);
}
(二)移除指定索引位置的元素:RemoveAt
arr.RemoveAt();
Console.WriteLine("Remove后索引为[3]的数据:"+arr[]);
5、排序:
(1)sort:自动按升序排列
ArrayList arr1 = new ArrayList();
for (int i = ; i < ; 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();