1:List你们都知道初始化的时候须要定义其类型.面试
例如安全
List<int> listTest = new List<int>();
而ArrayList,例如:
ArrayList arrayTest = new ArrayList();spa
2:为何定义会有如此大的不一样纳?开发
ArrayList规定其类型默认就是object,是否是以为好强大,好方便,
可是ArrayList几乎是没有人使用的吧,由于List你们一直都用
的最多的。it
3:为何ArrayList这么强大,而实际开发中几乎没人用呐?效率
注:装箱,拆箱是很是消耗效率的。object
而通常假如你要是使用
arrayTest.Add(1),List
这其中会有一次装箱的操做,将值类型的1转为object(int型转为object型数据,即为装箱),数据
而已经定义好类型的List是不会多这么一个步骤。时间
若是有大量的数据,ArrayList定义的list每个数据都须要进行这么一个步骤,
消耗的数据是很大的,具体,能够本身测测。相对而言,仍是用List就够用了。
这下知道为何ArrayList为何用的那么少了吧。
该问题的趣事:前些日子,一场面试,第一次写面试题啊,里面就有,
“ArrayList和List区别?”,这个是在Unity面试题很常见的问题,我给出了
四个字,“效率不一样”,哈哈,当时的我,其实真的不知道具体区别是啥,
由于ArrayList压根没使用过。其实,咱们实际开发中,这种问题不少,
会用,可是根本不知道为何,有时间,必定要去看看为何的。