ArrayList总结

ArrayList算是我用的比较多的数据结构之一。今天总结一下:

1.意义 和数组差不多,但是有个好处,能够动态地改变大小。

2.内部实现 ArrayList内部是用数组来实现的,首先ArrayList会初始化一定容量的数组,存放放在ArrayList中的对象的reference。当我们不断的add,内部数组会full,这个时候。ArrayList会自动创建一个更大的内部数组把那些references从较小的数组中拷贝过来同时把要add的那个对象也塞进去,当然这样会引起额外的开销。从这个原理来看,.在使用ArrayList的时候最好在构造它的时候指定比较合理的初始容量。

3.操作 1)add和addAll add:是把参数当作一个Object放进list addAll:把参数(Collection)中每个元素放进list 2)toArray()和toArray(Object[] a) toArray():返回的是一个Object[],其中的每个元素是一个Object,需要逐个类型转换

Person[] person = (Person[]) list.toArray();//这样是不对的,运行会抛出ClassCastException,需要逐个转

toArray(Object[] a):输出转型后的数组

Person[] person = (Person[]) list.toArray(new Person[list.size()]);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值