一、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。