C#——集合ArrayList


ArrayList

ArrayList类是一个特殊的数组,成为集合。它来自于System.Collections命名空间;通过添加和删除元素,就可以动态改变数组的长度。

[作用]

无限添加各种类型的数据以及数组和类等 。

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

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

//声明一个列表变量arrayList并且实例化
ArrayList arrayList = new ArrayList();

//随便的方各种类型的数据,并且不确定放多少个

//添加数组
int[] nums = new int[] { 1, 2, 3, 4, 5 };
arrayList.Add(nums);

//添加类
arrayList.Add(new Person("小杨", '男', 18));

//添加其他类型
arrayList.Add(10);
arrayList.Add(20);
arrayList.Add("小苏");
arrayList.Add('女');
arrayList.Add(true);
arrayList.Add(3.15m);
arrayList.Add(79.9);
arrayList.Add("哈啊,我又变帅了");

//遍历列表
           for (int i = 0; i < arrayList.Count ; i++)
            {
                if (arrayList[i] is int[])
                {
                    int[] numbers = (int[])arrayList[i];
                    for (int j = 0; 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[] { 1, 2, 3, 4, 5, 6 };
            arrayList.Add(nums);

            //3.通过AddRange()也可以添加数组
            int[] nums1 = new int[] { 7, 8, 9, 10 };
            arrayList.AddRange(nums);

            //遍历列表
            for (int i = 0; i < arrayList.Count; i++)
            {
                //如果其中有数组
                if (arrayList[i] is int[])
                {
                    int[] numbers = (int[])arrayList[i];//numbers=nums;nums------>arrayList[i]
                    for (int j = 0; j < nums.Length; j++)
                    {
                        Console.WriteLine(numbers[j]);
                    }
                }
                else
                {
                    Console.WriteLine(arrayList[i]);
                }
            }
            Console.ReadKey();


[常用方法]

插入

            //实例化ArrayList方法
            ArrayList arrayList =new ArrayList();

            //添加数据
            arrayList.Add(1);
            arrayList.Add(3);
            arrayList.Add(5);
            arrayList.Add(7);
            arrayList.Add(9);

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

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


其他方法

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

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

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

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

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

            //移除第一个匹配项2
            arrayList.Remove(2);

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

            //从制定索引处开始移除几项
            //如果超出索引,报异常
            arrayList.RemoveRange(3, 4);

            //反转
            arrayList.Reverse();

            //排序
            arrayList.Sort();


[随机添加数字求和]

//随机的往集合中添加数据,添加10个,不能重复,再求和,求平均值

            //实例化arrayList方法
            ArrayList arr = new ArrayList();

            //随机数
            Random r = new Random();

            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.ReadKey();
        }


评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值