天天看點

C#——集合ArrayList

ArrayList

ArrayList類是一個特殊的數組,成為集合。它來自于System.Collections命名空間;通過添加和删除元素,就可以動态改變數組的長度。

[作用]

無限添加各種類型的資料以及數組和類等 。

//添加命名空間
using System.Collections;

//------------------------------------

//聲明一個清單變量arrayList并且執行個體化
ArrayList arrayList = new ArrayList();

//随便的方各種類型的資料,并且不确定放多少個

//添加數組
int[] nums = new int[] { , , , ,  };
arrayList.Add(nums);

//添加類
arrayList.Add(new Person("小楊", '男', ));

//添加其他類型
arrayList.Add();
arrayList.Add();
arrayList.Add("小蘇");
arrayList.Add('女');
arrayList.Add(true);
arrayList.Add(m);
arrayList.Add();
arrayList.Add("哈啊,我又變帥了");

//周遊清單
           for (int i = ; i < arrayList.Count ; i++)
            {
                if (arrayList[i] is int[])
                {
                    int[] numbers = (int[])arrayList[i];
                    for (int j = ; j < nums.Length; j++)
                    {
                        Console.WriteLine(numbers[j]);
                    }
                }
                else if (arrayList[i] is Person)
                {
                    ((Person)arrayList[i]).Show();
                }               
                else
                {
                    Console.WriteLine(arrayList [i]);
                }
            } 
            Console.ReadKey();

//----------------------------------------------------

//建立類
public class Person...          
           

[添加資料三種方式]

//執行個體化ArrayList方法
            ArrayList arrayList = new ArrayList();        

            //1.通過Add()方法添加資料,----但是算成一個元素          
            arrayList.Add("老牛");

            //2.通過構造函數可以添加一個數組           
            int[] nums = new int[] { , , , , ,  };
            arrayList.Add(nums);

            //3.通過AddRange()也可以添加數組
            int[] nums1 = new int[] { , , ,  };
            arrayList.AddRange(nums);

            //周遊清單
            for (int i = ; i < arrayList.Count; i++)
            {
                //如果其中有數組
                if (arrayList[i] is int[])
                {
                    int[] numbers = (int[])arrayList[i];//numbers=nums;nums------>arrayList[i]
                    for (int j = ; j < nums.Length; j++)
                    {
                        Console.WriteLine(numbers[j]);
                    }
                }
                else
                {
                    Console.WriteLine(arrayList[i]);
                }
            }
            Console.ReadKey();
           

[常用方法]

插入

//執行個體化ArrayList方法
            ArrayList arrayList =new ArrayList();

            //添加資料
            arrayList.Add();
            arrayList.Add();
            arrayList.Add();
            arrayList.Add();
            arrayList.Add();

            //Insert,往某個下标位置插入一個值
            for (int i = ; i < ; i += )
            {
                arrayList.Insert(i, i + 1);
            }

            //顯示
            for (int i = ; i < arrayList.Count; i++)
            {
                Console.WriteLine(arrayList[i]);
            }
            Console.ReadKey();
           

其他方法

//清空集合
            arrayList.Clear();

            //判斷集合中是否需包含這個元素
            arrayList.Contains();

            //集合中元素的個數
            / int num = arrayList.Count;

            //找某個元素對應的索引
            int number = arrayList.IndexOf();

            //往一個索引位置插入一個數組
            int[] nums = { , ,  };
            arrayList.InsertRange(, nums);

            //移除第一個比對項2
            arrayList.Remove();

            //移除索引對應的值
            arrayList.RemoveAt();

            //從制定索引處開始移除幾項
            //如果超出索引,報異常
            arrayList.RemoveRange(, );

            //反轉
            arrayList.Reverse();

            //排序
            arrayList.Sort();
           

[随機添加數字求和]

//随機的往集合中添加資料,添加10個,不能重複,再求和,求平均值

            //執行個體化arrayList方法
            ArrayList arr = new ArrayList();

            //随機數
            Random r = new Random();

            while (arr.Count!=)
            {
                //産生一個整數範圍内的随機數
                int num = r.Next(, );

                if (!arr.Contains(num))
                {
                    arr.Add(num);
                }
            }

            int sum = ;
            for (int i = ; i < arr.Count; i++)
            {
                if (arr[i] is int)
                {
                    sum += (int)arr[i];
                    Console.WriteLine(arr[i]);
                }
            }
            Console.WriteLine(sum);
            Console.ReadKey();
        }
           
C#——集合ArrayList