C#--ArrayList集合

 ArrayList集合

    使用ArrayList集合需要添加using System.Collections;命名空间

1、ArrayList常用方法一

 class Program
    {
        static void Main(string[] args)
        {
            //创建了一个集合对象
            ArrayList list = new ArrayList();
            //集合:很多数据的一个集合
            //数组:长度不可变、类型单一
            //集合的好处:长度可以任意改变  类型随便
            list.Add(1);
            list.Add(3.14);
            list.Add(true);
            list.Add("张三");
            list.Add('男');
            list.Add(5000m);
            list.Add(new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 });
            Person p = new Person();
            list.Add(p);
            list.Add(list);
            //list.AddRange(new string[]{})
            //循环输出
            for (int i = 0; i < list.Count; i++)
            {
                //如果集合中的元素可以转换为Person,则输出这个
                if (list[i] is Person)
                {
                    ((Person)list[i]).SayHello();
                }
                //如果集合中的元素可以转换成数组则输出
                //但是,目前数组的准换存在一定的问题,会输出所在命名空间
                //如果是输出数组请看下面例子
                else if (list[i] is int[])
                {
                    for (int j = 0; j < ((int[])list[i]).Length; j++)
                    {
                        Console.WriteLine(((int[])list[i])[j]);
                    }
                }
                else
                {
                    Console.WriteLine(list[i]);
                }


                //Console.WriteLine(list[i]);
            }
            Console.ReadKey();
        }
    }

    public class Person
    {
        public void SayHello()
        {
            Console.WriteLine("我是人类");
        }
    }

2、ArrayList常用方法二

             // 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);//判断是否包含某个指定的元素

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

3、集合长度

    每次集合中实际包含的元素个数(count)超过了可以包含的元素的个数(capcity)的时候,
    集合就会向内存中申请多开辟一倍的空间,来保证集合的长度一直够用。

class Program
    {
        static void Main(string[] args)
        {
            ArrayList list = new ArrayList();
            list.Add(1);
            list.Add(1);
            list.Add(1);
            list.Add(1);
            list.Add(1);
            list.Add(1);
            list.Add(1);
            list.Add(1);
            list.Add(1);
            Console.WriteLine(list.Count);
            Console.WriteLine(list.Capacity);
            Console.ReadKey();
            //count 表示这个集合中实际包含的元素的个数
            //capcity 表示这个集合中可以包含的元素的个数
        }
    }

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值