zoukankan      html  css  js  c++  java
  • 10-21C#基础--集合

    二、集合  //定义一个集合,集合是一个类,

    1、 定义:

    ArrayList al = new ArrayList();

    2、添加数据:al.add();//添加数值,可以添加无数个元素,集合中没有规定
     int i=al.Add(3);
     int k=al.Add(5);
     int j=al.Add(7);

    3、插入数据:

    al.insert(1,9);//集合可以插入数值,意义为在索引1这个位置,插入9这个数;原有位置的数据依次索引向后靠一位;

    4、移除数据:

    1)Remove

     al.Remove(5);//括号内输入的是数值,当插入的数把后面的数值挤到后面之后,在移除时,只移除第一次出现的数值即使后面有相等的数值。

    2)RemoveAt

     al.RemoveAt(0);//输入的必须是索引,移除某个指定索引出的数值,只移除第一次出现的数值即使后面有相等的数值。

    5、读取数据:

    //如何读取数值;
     al[0];  //集合名+[]+索引;

    6、集合中的元素的个数统计

     int cc = al.Count;//输出的是集合元素的个数;

    7、 冒泡排序

    al.Sort();//对集合中的元素进行排序,从小到大排序,无返回值;使用指定的比较器(即>、<)对元素进行排序;

    8、索引显示

    1).IndexOf();

    int sy = al.IndexOf(12.0);

    //如果索引显示-1,就是没有找到这个元素;只返回第一个匹配项的索引。因为数据类型不一样,比较的时候一定要注意数据类型是否相符,否则比较不出来。

    2).LastIndexOf();//返回最后一个索引的匹配项;

    int sy2 = al.LastIndexOf(12.0);

    9、清空数据.Clear();

    al.Clear();//清空集合中的数据元素,清空之后还可以再重新添加新元素;

    10、判断是否包含 .Contains();

     bool b=xal.Contains(12.0);//返回布尔值,判断集合中是否包含输入的值;

    11、复制集合.Clone();

    ArrayList xal = new ArrayList();
    xal = (ArrayList)al.Clone();//复制集合中的元素,装入新的集合中;

    12、 注意:

    al.Add(double.Parse(Console.ReadLine()));

    直接赋值即可.如果是数字,将来要比较大小,需要在添加的时候转换成数值类型,再添加到集合里面,否则,会当做字符串的编码区分大小,会出错;因为集合里面包含很多类型的值;

    集合程序的编写(以输入班级人数、成绩计算平均分为例)

    Console.Write("请输入人数:");          

    int n = int.Parse(Console.ReadLine());            

    ArrayList al = new ArrayList();            

    int i = 0;            

    for (i = 0; i < n; i++)            

    {                

    Console.Write(i + " :");                

    Console.Write("请输入分数:");                

    al.Add(double.Parse(Console.ReadLine()));

     }            

    double sum = 0;            

    for (int j = 0; j < n; j++)            

    {                

    sum = sum + double.Parse(al[j].ToString());            

    }            

    double avg = sum / n;                 

    Console.WriteLine("平均分" + avg);

    for (int d = 0; d < n; d++)            

    {                

    Console.WriteLine(al[d]);            

    }                       

    Console.ReadLine();

     // al.Sort();//对集合中的元素进行排序,从小到大排序,无返回值;            

    //al.Reverse();//这个是将顺序翻转;要想从大到小排列,执行reverse。

     // int sy = al.IndexOf(12.0);//如果索引显示-1,就是没有找到这个元素;只返回第一个匹配项的索引。因为数据类型不一样,比较的时候一定要注意数据类型是否相符,否则比较不出来。           

      //int sy2 = al.LastIndexOf(12.0);            

    //al.Clear();//清空集合中的数据元素,清空之后还可以再重新添加新元素;            

    //al.Clone();            

    //ArrayList xal = new ArrayList();            

    //xal = (ArrayList)al.Clone();//复制集合中的元素,装入新的集合中;            

    //bool b=xal.Contains(12.0);//返回布尔值,判断集合中是否包含输入的值;            

    //Console.WriteLine("第一个索引:" + sy + "最后一个索引" + sy2);

  • 相关阅读:
    C++Josephus问题
    C++背包示例
    C++1000以内的质数
    as3+asp+access编码
    fb设置flashplayer
    三视图示例
    正确实现 IDisposable 接口
    .net垃圾回收和CLR 4.0对垃圾回收所做的改进之二
    .net垃圾回收和CLR 4.0对垃圾回收所做的改进之三
    CLR 全面透彻解析:大型对象堆揭秘
  • 原文地址:https://www.cnblogs.com/xiaoqingshe/p/4040501.html
Copyright © 2011-2022 走看看