ArrayList集合 、特殊集合

一、ArrayList集合 集合内可以放不同类型的元素

另:object类型为所有数据类型的基类

添加元素:.add();

清空集合:al.clear();

克隆集合:.clone();

判断是否包含某个元素:.contains();

获取第一次出现该元素的索引号:.indexof();

获取最后一次出现该元素的索引号:lastindexof();

移除第一个匹配元素:.Remove();

移除某个索引位置上的元素:.RemoveAt();

排序 升序:.sort();

翻转集合:.Reverse();

在有不同数据类型的时候需要遍历集合:用object foreach(object aa in ai )

暂停程序:System.Threading.Thread.Sleep(300); 括号内为毫秒

练习:输入班级人数 姓名 语数英成绩 输出语文最高分 数学最低分 是谁考的 以及英语平均分

ArrayList al = new ArrayList();
            Console.Write("请输入班级人数:");
            int a = int.Parse(Console.ReadLine());
            for (int i = 0; i < a; i++)
            {
                Console.Write("请输入第{0}个人的姓名:", i + 1);
                al.Add(Console.ReadLine());
                Console.Write("请输入第{0}个人的语文成绩:", i + 1);
                al.Add(Console.ReadLine());
                Console.Write("请输入第{0}个人的数学成绩:", i + 1);
                al.Add(Console.ReadLine());
                Console.Write("请输入第{0}个人的英语成绩:", i + 1);
                al.Add(Console.ReadLine());
            }
            for (int i = 0; i < 4 * a - 4; i += 4)
            {
                for (int j = i + 4; j < 4 * a; j += 4)
                {
                    if (double.Parse(al[i + 1].ToString()) < double.Parse(al[j + 1].ToString()))
                    {
                        object zhong = al[i + 1];
                        al[i + 1] = al[j + 1];
                        al[j + 1] = zhong;
                        zhong = al[i];
                        al[i] = al[j];
                        al[j] = zhong;
                        zhong = al[i + 2];
                        al[i + 2] = al[j + 2];
                        al[j + 2] = zhong;
                        zhong = al[i + 3];
                        al[i + 3] = al[j + 3];
                        al[j + 3] = zhong;
                    }
                }
            }
            Console.Clear();
            Console.WriteLine("语文成绩最高分是{0},是{1}考的。", al[1], al[0]);
            for (int i = 0; i < 4 * a - 4; i += 4)
            {
                for (int j = i + 4; j < 4 * a; j += 4)
                {
                    if (double.Parse(al[i + 2].ToString()) > double.Parse(al[j + 2].ToString()))
                    {
                        object zhong = al[i + 1];
                        al[i + 1] = al[j + 1];
                        al[j + 1] = zhong;
                        zhong = al[i];
                        al[i] = al[j];
                        al[j] = zhong;
                        zhong = al[i + 2];
                        al[i + 2] = al[j + 2];
                        al[j + 2] = zhong;
                        zhong = al[i + 3];
                        al[i + 3] = al[j + 3];
                        al[j + 3] = zhong;
                    }
                }
            }
            Console.WriteLine("数学成绩最低分是{0},是{1}考的。", al[2], al[0]);
            double sum = 0;
            for (int i = 0; i < 4 * a; i += 4)
            {
                sum += double.Parse(al[i + 3].ToString());
            }
            Console.WriteLine("英语平均分是:{0}", sum / a);
复制代码

特殊集合:

1.stack集合 

也叫栈集合、干草堆集合 特点是先进后出 一个一个赋值 一个一个取值 按顺序

添加元素:.push();

弹出元素:.pop();弹出最后一个 并且弹出后 集合内不再有此元素

查看元素:.peek();只查看 不弹出

2.队列集合

queue 特点是先进先出 一个一个赋值 一个一个取值

添加元素:.enqueue();

移除一个元素:.dequeue();从头开始移除

3.哈希表集合

hashtable  哈希表 先进后出 一个一个赋值 但只能一起取值

添加元素:.add(,);一次添加两个元素 一个是key 一个是value。

原文地址:https://www.cnblogs.com/lemon233-/p/6001780.html