1. 程式人生 > >C#ArrayList集合

C#ArrayList集合

【集合的基本概念】

集合:就是很多資料的一個集合

ArrayList集合的好處:長度可以任意改變型別隨便

使用ArrayList需要匯入名稱空間:using System.Collections;

【ArrayList集合的長度問題】

每次集合中實際包含的元素個數(count)超過了可以包含的元素的個數(capcity)的時候,集合就會向記憶體中申請多開闢一倍的空間,來保證集合的長度一直夠用。

ArrayList集合的各種方法

namespace _ArrayList的各種方法
{
    class Program
    {
        static void Main(string[] args)
        {
            ArrayList list = new ArrayList();
            //新增單個元素
            list.Add(true);
            list.Add(1);
            list.Add("張三");
            //新增集合元素
            list.AddRange(new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 });
            //list.AddRange(list);

            //list.Clear();清空所有元素
            //list.Remove(true);刪除單個元素 寫誰就刪誰
            //list.RemoveAt(0);根據下標去刪除元素
            //list.RemoveRange(0, 3);根據下標去移除一定範圍的元素
            // list.Sort();//升序排列
            //list.Reverse();反轉
            //list.Insert(1, "插入的");在指定的位置插入一個元素
            //list.InsertRange(0, new string[] { "張三", "李四" });在指定的位置插入一個集合
            //bool b = list.Contains(1);判斷是否包含某個指定的元素
            list.Add("張三");
            if (!list.Contains("張三"))  //不包含加歎號,包含不加歎號
            {
                list.Add("張三");
            }
            else
            {
                Console.WriteLine("已經有這個屌絲啦");
            }
            for (int i = 0; i < list.Count; i++)
            {
                Console.WriteLine(list[i]);
            }
            Console.ReadKey();
        }
    }
}
舉例:建立一個集合,裡面新增一些數字,求平均值與和,最大值,最小值
namespace _09集合的練習
{
    class Program
    {
        static void Main(string[] args)
        {
            ArrayList list = new ArrayList();
            list.AddRange(new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 });
            int sum = 0;
            int max = (int)list[0];
            for (int i = 0; i < list.Count; i++)
            {
                if ((int)list[i] > max)
                {
                    max = (int)list[i];
                }
                sum += (int)list[i];
            }
            Console.WriteLine(sum);
            Console.WriteLine(max);
            Console.WriteLine(sum/list.Count);
            Console.ReadKey();
        }
    }
}