数组、ArrayList、List三者区别

一、 数组

优点:在内存中时连续的,速度较快,操作简单。

缺点:定义数组时要定义其长度,不是很灵活,过长过短都会造成问题。不方便进行数据的添加、插入和移除。

例如:int [] i=new int[2];

           i[0]=111;

           i[1]=123;//赋值

           i[1]=1234;//修改

二、集合ArrayList

优点:命名空间System.Collections下的一部分。大小是动态扩充与收缩的。在声明ArrayList对象时不需要指定它的长度。ArrayList继承了IList接口,可以很方便的进行数据的添加、插入和移除.

缺点:当向集合插入不同类型的数据后(ArrayList将数据当作object存储),在进行数据处理时容易出现类型不匹配的错误,使用时需要进行类型转换处理,存在装箱与拆箱操作,造成性能大量损耗的现象。

例如:ArrayList list = new ArrayList();

         list.Add("aa");

         list.Add(11);
         list[1] = 123;//修改

         移除list.Remove(123);

         list.RemoveAt(0);

三、泛型List

优点:与集合ArrayList类似且继承IList接口,在声明List集合时也要声明集合内部数据的对象类型,避免了装箱和拆箱的问题。

例如:List<int> list=new List<int>();

          list.Add(123);

          list[0]=111;//修改

          list.RemoveAt(0);//移除

如果list.Add("abc");//编译器就会报错,避免了类型安全问题与装箱拆箱的性能问题。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值