数组,List,ArrayList这三个东西,也是经常出现在我们的代码里,你可能无意间就使用了其中一个,但是被问到为什么的时候,就有点不知其所以然了。
涉及到一些基础的数据结构知识,默认你懂。
数组: 效率最高,但是其容量固定且无法动态改变,创建的时候就声明好。
ArrayList 解决了数组不可以动态改变容量问题,但牺牲效率。而且ArrayList不是类型安全,ArrayList会把所有插入其中的数据都当作为object类型来处理,在装箱与拆箱会造成很大的损耗(这里可以理解一下我们的常用的泛型概念,装箱与拆箱的概念其实很简单,不想百度的你文章末尾解释)
List: 是ArrayList类的泛型等效类。它的大部分用法都与ArrayList相似,因为List类也继承了IList接口(ArrayList实现的也是这个接口)。最关键的区别在于,在声明List集合时,我们同时需要为其声明List集合内数据的对象类型。
拆箱:引用类型转换为值类型
装箱:值类型转换为引用对象
不理解的自行百度,会有更深入的理解。