集合:
理解为箱子,没有固定长度,可以放任意类型的数据或是变量;
集合也有索引;
ArrayList:
定义:
ArrayList arr = new ArrayList();
添加元素:
arr.Add(a);
arr.Add(b);
取值:
arr[索引];
注意的是,取值时是object类型,需要进行类型转换;
注意:一个集合虽然可以放任意类型,但是我们使用时一般一个集合就放一种类型;
特殊功能:
arr.Add(); 添加元素
arr.Insert(索引,值); 插队,将值插队进到索引的位置
arr.Remove(值); //根据值来删除集合中的元素
arr.RemoveAt(索引); //根据索引来删除集合中的元素
arr.Clear(); //清空集合
arr.Sort(); //从小到大排列集合中的所有元素
arr.Reverse();
arr.Contains(); //查看集合中是否包含某个元素
arr.count; //集合中元素的个数,返回一个int类型
-------------------------------------------------------------
练习题:
请输入学生个数:
请输入第1个学生的姓名:
请输入第1个学生的性别:
请输入第1个学生的年龄:
请输入第1个学生的成绩:
...
n
********************************
第1个学生的姓名:xxx,性别:xxx,年龄:xxx,成绩:xxx。
...
n
练习题: 请输入学生个数: 请输入第1个学生的姓名: 请输入第1个学生的性别: 请输入第1个学生的年龄: 请输入第1个学生的成绩: ... n ******************************** 第1个学生的姓名:xxx,性别:xxx,年龄:xxx,成绩:xxx。 ... n Console.Write("请输入学生个数:"); int gs = Convert.ToInt32(Console.ReadLine()); ArrayList a = new ArrayList(); ArrayList b = new ArrayList(); ArrayList c = new ArrayList(); ArrayList d = new ArrayList(); decimal end = 0m; for (int i = 0; i < gs; i++) { Console.Write("请输入第" + (i + 1) + "个学生姓名:"); string xm = Console.ReadLine(); Console.Write("请输入第" + (i + 1) + "个学生性别:"); string xb = Console.ReadLine(); Console.Write("请输入第" + (i + 1) + "个学生年龄:"); int nl = Convert.ToInt32(Console.ReadLine()); Console.Write("请输入第" + (i + 1) + "个学生成绩:"); decimal cj = Convert.ToDecimal(Console.ReadLine()); a.Add(xm); b.Add(xb); c.Add(nl); d.Add(cj); end += cj; } Console.WriteLine("**************************************************"); for (int j = 0; j < gs; j++) { Console.WriteLine("第" + (j + 1) + "个学生的姓名:" + a[j] + ",性别:" + b[j] + ",年龄:" + c[j] + ",成绩:" + d[j] + "。"); } Console.WriteLine("总分是:" + end + "平均分是:" + (end / gs) + "。"); Console.ReadKey();
-------------------------------------------------------------
特殊集合:
Queue 队列集合
定义:
Queue qq = new Queue();
添加元素:
Enqueue("值"/变量);
取值:
Dequeue(); //取第一个进去的值,并在集合中删除掉
Peek(); //取第一进去的值给你看看,不会在集合中删除
-------------------------------------------------------------
Stack 栈桥集合
定义:
Stack ss = new Stack();
添加元素:
ss.Push("值"/变量);
取值:
ss.Pop(); //先进去的后出来,取到的是最后一个进去的,并在集合中删除掉
ss.Peek(); //取最后一个进去的,拿出来给你看看,不会在集合中删除掉
-------------------------------------------------------------
Hashtable:哈希表集合
键值对, 一个建对应一个值;
定义:
Hashtable ha = new Hashtable();
添加元素:
Add(key,value); //key键,用户自定义索引,为object类型
//value值,当前这个索引所对应的内容
取值:
ha[key]; //根据用户自定义索引来取出相对应的内容
遍历:
foreach (string i in ha.Keys) //可以单独遍历键
{
Console.WriteLine(i);
}
foreach (string i in ha.Values) //可以单独遍历值
{
Console.WriteLine(i);
}
-------------------------------------------------------------
泛型集合:
List<类型> li = new List<类型>();
li.Add(同一类型的值或变量);
li[索引]