ArrayList浅析



undefined_腾讯视频

背景介绍

ArrayList

ArrayList就是动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了动态的增加和减少元素,灵活的设置数组的大小等好处

知识剖析

ArrayList 初始化

ArrayList浅析_第1张图片

首先执行List list1 = new ArrayList<>():

ArrayList浅析_第2张图片

List list2 = new ArrayList<>():

ArrayList浅析_第3张图片

Person person1 = new Person("张三");

ArrayList浅析_第4张图片

常见问题

添加操作:

 list1.add(person1);

ArrayList浅析_第5张图片


ArrayList浅析_第6张图片


ArrayList浅析_第7张图片


ArrayList浅析_第8张图片



4.配置展示

源码:

http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/8u40-b25/java/util/ArrayList.java

5.扩展思考

ArrayList 扩容

如果开始为:

ArrayList浅析_第9张图片

当扩容的时候:


ArrayList浅析_第10张图片
ArrayList浅析_第11张图片


6.参考文献

http://blog.csdn.net/haima1998/article/details/12354269

ArrayList底层数组扩容原理 --清浅池塘。

7.更多讨论


ArrayList浅析_第12张图片

1. 对,自动检测长度是否充足

2. 扩容后的数组内存地址,和扩容前的数组内存地址是不一样的。

PPT:PPT

技能树.IT修真院

“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。

这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧~

直接点击此链接:http://www.jnshu.com/login/1/10985551

你可能感兴趣的:(ArrayList浅析)