集合 ArrayList
//集合 ArrayList类
//集合是一组可变数量的元素组合 一般来说 这些元素的类型是相同的 只能是一维的
//初始化
//ArrayList al = new ArrayList();
//添加元素到集合的最后
//al.Add(1);
//al.Add(2);
//al.Add(2);
//al.Add(4);
//Console.WriteLine(al[1]);
////插入 在某个索引号处插入某个值 插入之后索引号的原值被顶到下一索引号去 以此类推
//al.Insert(1,9);//object是所有类的基类,可以放所有类
//Console.Write(al[1]);
//al.Remove(2);//括号里放的是移除的值 只移除从前往后的第一个值
//al.RemoveAt(2);//括号里放的是移除值的索引号
//遍历集合
//foreach (object a in al)
//{
// Console.WriteLine(a);
//}
//定义个数接收
//int geshu = al.Count;
//清空集合
//al.Clear();
//判断是否包含某个值
//bool b = al.Contains(3);
//自动排序 升序
//al.Sort();
//将集合翻转
//al.Reverse();//配合排序可以排成降序
//克隆一个一模一样的集合
//ArrayList aal = new ArrayList();
//aal = (ArrayList)al.Clone();
//object 类是所有数据类型的基类 包含其他数据类型
例题.输入班级人数,输入每个人的分数计入集合,求班级平均分
Console.Write("请输入班级人数");
int n = int.Parse(Console.ReadLine());
double sum = 0;
for (int i = 0; i < n; i++)
{
Console.Write("请输入第{0}个人的分数:", (i + 1));
al.Add(double.Parse(Console.ReadLine()));
sum += (double)al[i];
//sum += double.Parse(al[i].ToString());
}
Console.Write("平均分为:" + (sum / n));
例.练习:输入人数,输入每个人的分数,求平均分,排成升序,打印,排成降序,打印。
Console.Write("请输入人数:");
int a = int.Parse(Console.ReadLine());
double sum = 0;
ArrayList aa = new ArrayList();
for (int i = 0; i < a; i++)
{
Console.Write("请输入第{0}个人的分数:", (i + 1));
aa.Add(double.Parse(Console.ReadLine()));
sum += (double)aa[i];
}
Console.WriteLine("平均数是:" + (sum / a));
aa.Sort();
foreach (object b in aa)
{
Console.WriteLine(b);
}
Console.WriteLine();
aa.Sort();
aa.Reverse();
foreach (object b in aa)
{
Console.WriteLine(b);
}