C#集合总结

集合的概念

与数组相比,集合中的数据类型不必一定是相同的。并且集合不仅能随意调整大小,对存储和检索其中的对象也提供了更高级的方法。集合包括数组


常用的集合

常用的集合类
集合 含义
Array 数组
List 列表
ArrayList 动态数组
Dictionary 字典
Queue 队列
Stack
SortedList 有序键/值对列表
Hashtable 哈希表
LinkedList 双向链表
SortedDictionary 有序字典


动态数组类ArrayList

ArrayList是较复杂的数组。ArrayList类提供多数System.Collections类都提供的功能,但这些功能在Array类中没有提供。ArrayList并不等同于数组

动态数组类ArrayList和数组类Array的区别
Array ArrayList
大小固定 大小可根据需要自行扩充
一次只能设置或获取一个元素的值 允许添加,插入或移除某一范围的值
下限可以自定义 下限始终为0
可以具有多个维度 始终是一维的
位于System命名空间中 位于System.Collections命名空间中


创建动态数组类的形式

            ArrayList 列表对象名 = new ArrayList();
            ArrayList list = new ArrayList();

动态数组类常用的方法

            arrayList.Clear();  //清空
            arrayList.Contains();   //判断集合是否包含这个元素
            int num = arrayList.Count;  //集合中元素的个数
            int number = arrayList.IndexOf(2);  //找某一个元素对应的索引
            arrayList.RemoveAt(); //移除索引对应的值
            arrayList.Reverse();    //反转
            arrayList.Sort();   //排序


练习

        static void Main(string[] args)
        {
            //随机往集合中添加数据,添加10个,不能重复,再求和,求平均值

            ArrayList arr = new ArrayList();
            Random r = new Random();

            while (arr.Count != 10)
            {
                int num = r.Next(1, 100);
                if (!arr.Contains(num))
                {
                    arr.Add(num);
                }
            }

            int sum = 0;
            for (int i = 0; i < arr.Count; i++)
            {
                if (arr[i] is int)
                {
                    sum += (int)arr[i];
                }
                Console.WriteLine(arr[i]);
            }

            Console.WriteLine(sum);
            Console.WriteLine(sum/arr.Count);
            Console.ReadKey();

        }

你可能感兴趣的:(C#集合总结)