zoukankan      html  css  js  c++  java
  • 集合

    集合
    理解为箱子,没有固定长度,可以放任意类型的数据或是变量;
    集合也有索引;

    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类型

    特殊集合:

    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[索引

    练习

    请输入学生个数:
    请输入第1个学生的姓名:
    请输入第1个学生的性别:
    请输入第1个学生的年龄:
    请输入第1个学生的成绩:
    ...
    n
    ********************************
    第1个学生的姓名:xxx,性别:xxx,年龄:xxx,成绩:xxx。
    ...
    n

                ArrayList a = new ArrayList();
                ArrayList b = new ArrayList();
                ArrayList c = new ArrayList();
                ArrayList d = new ArrayList();
    
                decimal end = 0;
                Console.Write("请输入学生个数:");
                int count  = Convert.ToInt16(Console.ReadLine());
    
                for (int i = 0; i <count ; i++)
                {
                    Console.Write("请输入第" + (i+1) + "个学生的姓名:");
                    string x = Console.ReadLine();
                    Console.Write("请输入第" + (i+1) + "个学生的性别:");
                    string xb = Console.ReadLine();
                    Console.Write("请输入第" + (i+1) + "个学生的年龄:");
                    decimal n = Convert.ToDecimal(Console.ReadLine());
                    Console.Write("请输入第" + (i+1) + "个学生的成绩:");
                    decimal cj = Convert.ToDecimal(Console.ReadLine());
    
                    a.Add(x);
                    b.Add(xb);
                    c.Add(n); 
                    d.Add(cj);
                    end += cj;
                }
                Console.WriteLine("********************************");
                for (int j = 0; j < count; j++)
                {
                    Console.WriteLine("" + j+1 + "个学生的姓名是:"+a[j]+",性别是:"+b[j]+",年龄是:"+c[j]+",成绩是:"+d[j]+"");
                }
                Console.WriteLine("总成绩是:" + end + ",平均分是:" + end / count + "");
    
                Console.ReadLine();

    运算结果

  • 相关阅读:
    课程总结
    2018-2019-2 20189205《移动平台应用开发实践》第一周作业
    2019年3月3日 2018-2019-2 20189205《移动平台应用开发实践》第二周作业
    2018-2019-2 20189205《移动平台应用开发实践》第十二周作业
    2018-2019-2 20189205《移动平台应用开发实践》第十一周作业
    项目代码分析
    2018-2019-2 20189205《移动平台应用开发实践》第十周作业
    博客分工
    2018-2019-2 20189205《移动平台应用开发实践》第九周作业
    2018-2019-2 20189205《移动平台应用开发实践》第八周作业
  • 原文地址:https://www.cnblogs.com/sunshuping/p/5540259.html
Copyright © 2011-2022 走看看