C#--集合添加数据(ArrayList and list)

集合方法ArrayList:需要引用using system.collections;

 static void Main(string[] args)
        {

// 添加内容
            int[] nums = new int[] { 1, 2, 3, 4, 5 };
            //随便的放,各种类型的数据,并且 不确定放多少个;
            ArrayList arraylist = new ArrayList();
            arraylist.Add(10);
            arraylist.Add(20);
            arraylist.Add("小苏");
            arraylist.Add('女');
            arraylist.Add(true);
            arraylist.Add(3.15m);
            arraylist.Add(78.9);
            arraylist.Add(nums);
            arraylist.Add("哈哈,我有坏了");
            //给集合添加数据,用add()这个方法
            //添加的内容,无限添加,

    //循环显示判断
            for (int i = 0; i < arraylist.Count ; i++)
            {
                Console.WriteLine(arraylist[i]);
                if (arraylist[i] is int [])
                {
                    int[] numbers = (int[])arraylist[i];   //numbers=nums,nums---->arraylist[i] 

                }
            }
            Console.ReadKey();
        }

显示结果:
这里写图片描述

集合插入数据的三种方式:

  1. 通过构造函数可以添加一个数组
  2. 通过Add()方法可以添加数组,但是算成一个元素
  3. 通过AddRange()也可以添加数组

            al.Add(1);
            al.Add("老牛");

            al.AddRange(nums);
            al.AddRange(nums);
            al.Add(nums);
            for (int i = 0; i < al.Count ; i++)
            {
                Console.WriteLine(al[i]);

            }
            Console.ReadKey();

集合中所有常用方法:

        arrayList.Clear();  //清空了

        arrayList.Contains(1);//判断集合中是否包含这个元素。

        int num=arrayList.Count;//集合中元素的个数

        int numbers=arrayList.IndexOf(2); //找某一个元素对应的索引

        int[] nums = { 1, 2, 3 };
        arrayList.InsertRange(4, nums);//往某一个索引位置插入一个数组

        arrayList.Remove(1);

        arrayList.RemoveAt(1); //移出索引对应的值。

        arrayList.RemoveRange(3, 4);  //从指定所引出开始移出,移出多少个,如果超出索引报异常。

        arrayList.Reverse(); //反转

        arrayList.Sort();//排序

集合与数组区别:

集合可以做的数组做不了,但是数组做的集合都可以做。

练习1: 求集合元素总和平均值:

 static void Main(string[] args)
        {
         //创建一个新集合
            ArrayList arrayList = new ArrayList();
            int sum = 0;

        //添加0-99
            for (int i = 1; i <=100; i++)
            {
                arrayList.Add(i);
            }

        //0-99相加
            for (int i = 0; i <arrayList.Count ; i++)
            {
                if (arrayList[i] is int )
                {
                    sum += (int)arrayList[i];
                }
            }

            Console.WriteLine(sum);  //显示总和
            int avg = sum / arrayList.Count; //求平均数
            Console.WriteLine(avg);  //显示平均数

            Console.ReadKey();
        }

//显示:5050     50

练习2:集合产生随机数求和:

 static void Main(string[] args)
        {
            //随机的往集合中添加数据,添加10个,不能重复,在求和,求平均值;
            ArrayList arr = new ArrayList();
            Random r = new Random();

    //添加1-99之间的随机数
            while (arr.Count !=10)
            {
                int num = r.Next(1, 100);
                if (!arr.Contains(num))
                {
                    arr.Add(num);
                }
            }
     //求和     
            int sum = 0;
            for (int i = 0; i < arr.Count; i++)
            {
                if (arr[i] is int )
                {
                    sum += (int)arr[i];
                }
                Console.WriteLine(arr[i]);
            }            
            Console.WriteLine(sum);

      //求平均数
            Console.WriteLine(sum / arr.Count);
            Console.ReadKey();
        }

显示结果: 前十个随机数,一个总和,一个平均数
这里写图片描述

list方法:泛型集合

List list = new List();
List listStr = new List();
listStr.Add (“哈哈,大白又变帅了”);

//随机的往这个list集合中添加十个数字,不能重复,求和,求最大值,求最小值,求平均值
        List<int> list = new List<int>();

            Random r = new Random();

            int num = 0;

            while (list.Count !=10)   
            {
                num = r.Next(1, 100);  //表示1-99随机数
                if (!list.Contains(num))
                {
                    list.Add(num);
                }
            }
//显示结果
            Console.WriteLine("最大值为:{0}", list.Max());
            Console.WriteLine("最小值为:{0}", list.Min());
            Console.WriteLine("和为{0}", list.Average());
            Console.WriteLine("平均值{0}",list.Average());
            Console.ReadKey();

猜你喜欢

转载自blog.csdn.net/aimin_com/article/details/80549623