泛型集合,非泛型集合

ArrayList:非泛型集合

List:泛型集合

集合跟数组比较我们更容易理解。数组:1,长度固定2,数据类型预先声明

集合:1,长度可变2,数据类型预先声明的为泛型集合,数据类型不限定为非泛型

 

ArrayList:长度不固定,元素数据类型为object的集合。

(object类之间或间接为所有类的父类,根据里氏转换,子类可以直接给父类赋值,所以如果此处要求我们的数据类型为object就等于任何类型的数据都可以储存,但实际上不管我们存入的数据为什么类型,它都被隐式转换成了object类型)。

List:长度不固定,元素数据类型需固定声明的集合。

ArrayList的命名空间为Collections,List的命名空间为Collections.Generic

非泛型举例:

static void Main(string[] args)
        {
            //声明一个非泛型集合List
            ArrayList list = new ArrayList();
            //一次添加元素 接入的元素类型可以是int类型,bool类型,string类型,char类型,数组类型
            //这些类型都是object的子类型,根据里氏转换,存储进入集合后都隐式的转为了object类型
            list.Add(1);
            list.Add(true);
            list.Add("张三");
            list.Add('男');
            list.AddRange(new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 });
            //遍历输出
            for (int i = 0; i < list.Count; i++)
            {
                Console.WriteLine(list[i]);
            }
            Console.ReadKey();
        }

泛型举例: static void Main(string[] args)
        {
            //声明一个泛型集合,尖括号内声明集合元素的类型,一旦声明就不能改变
            List<int> list = new List<int>();
            list.Add(1);
            list.Add(2);
            list.Add(3);
            for (int i = 0; i < list.Count; i++)
            {
                Console.WriteLine(list[i]);
            }
            Console.ReadKey();
        }

总结:不管是非泛型或者泛型集合,长度都是不固定的。泛型是指集合元素类型限定了,而非泛型集合元素类型为object类型,相当于任何类型都可以。

相比数组的长度不可变,类型固定,集合更好用


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值