集合1

十二、集合

(一)ArrayList集合的用法

1、集合的定义

集合是用来组织其他对象的一个对象,也可以把它当做一个容器,集合提供了方法来保存、获取和操作其元素。

2、ArrayList集合
1)使用集合之前要先把集合的的命名空间调用,即要写入using System.Collections;

2)格式

            ArrayList a = new ArrayList();//初始化
            a.Add(1);//添加元素,追加到集合的最后
            a.Add(2);
            a.Add(4);
            a.Add(3);
            a.Add(4);
            a.Add(4);
            Console.WriteLine(a[1]);
            Console.WriteLine();
            a.Insert(1, 9);//在某个索引号上插入某个值,在插入之后,原本在此索引号的值被顶到下个索引,以此类推
            Console.WriteLine(a[1]);
            Console.WriteLine();
            a.Remove(4);//这里面放置的是一个值,需要移除这个值。移除从前往后第一个这个值。
            foreach (object b in a)
            {
                Console.WriteLine(b);
            }
            Console.WriteLine();
            a.RemoveAt(3);//移除3号索引的值。
            foreach (object c in a)
            {
                Console.WriteLine(c);
            }
            Console.WriteLine();
            //定义个数接收
            int geshu = a.Count;
            Console.WriteLine(geshu);
            Console.WriteLine();
            //a.Clear;//清空集合
            //Console.WriteLine();
            bool B = a.Contains(3);
            Console.WriteLine(B);
            Console.WriteLine();
            a.Sort();//集合排序,由小到大
            Console.WriteLine();
            a.Reverse();//将集合翻转,一般是进行Sort排序之后翻转
            Console.WriteLine();
            ArrayList a1 = new ArrayList();
            a1 = (ArrayList)a.Clone();
            Console.WriteLine();
            //object类是所有数据类型的基类。
            int A = 0;
            object b1 = a;
            object C = 3;
            A = (int)C;
            Console.ReadLine();

(二)例题

1、输入人数,输入每个人的分数,求出平均分并排序(分别打印升序和降序)。
主要代码:

            ArrayList g = new ArrayList();
            Console.Write("请输入班级人数:");
            int num = int.Parse(Console.ReadLine());
            double sum = 0;
            for (int i = 0; i < num; i++)
            {
                Console.Write("请输入第{0}个人的分数:", i + 1);
                g.Add(double.Parse(Console.ReadLine()));//或者可用
                sum += double.Parse(g[i].ToString());
            }
            Console.WriteLine("平均分为:{0:f1}", sum / num);
            g.Sort();
            foreach (object a in g)
            {
                Console.WriteLine(a);
            }
            Console.WriteLine();
            g.Reverse();
            foreach (object b in g)
            {
                Console.WriteLine(b);
            }
            Console.ReadLine();

结果:

原文地址:https://www.cnblogs.com/bosamvs/p/5478486.html