1. 程式人生 > >C#--集合新增資料(ArrayList and list)

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();