Android面试补习(三)数组,List,ArrayList的区别(附带拆箱和装箱概念)

数组,List,ArrayList这三个东西,也是经常出现在我们的代码里,你可能无意间就使用了其中一个,但是被问到为什么的时候,就有点不知其所以然了。

涉及到一些基础的数据结构知识,默认你懂。

数组: 效率最高,但是其容量固定且无法动态改变,创建的时候就声明好。

ArrayList    解决了数组不可以动态改变容量问题,但牺牲效率。而且ArrayList不是类型安全,ArrayList会把所有插入其中的数据都当作为object类型来处理,在装箱与拆箱会造成很大的损耗(这里可以理解一下我们的常用的泛型概念,装箱与拆箱的概念其实很简单,不想百度的你文章末尾解释

List:  是ArrayList类的泛型等效类。它的大部分用法都与ArrayList相似,因为List类也继承了IList接口(ArrayList实现的也是这个接口)。最关键的区别在于,在声明List集合时,我们同时需要为其声明List集合内数据的对象类型。

拆箱:引用类型转换为值类型

装箱:值类型转换为引用对象

不理解的自行百度,会有更深入的理解。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值