目录
拓展
1. 在面试时如何讲解一个集合的底层?
2. IDEA如何查看底层源码?
一、ArrayList底层数据结构
二、插入方法的具体实现
三、ArrayList底层原理总结
拓展
1. 在面试时如何讲解一个集合的底层?
- 底层的数据结构。
- 插入方法的具体实现。
2. IDEA如何查看底层源码?
Ctrl + n 然后搜索类名。
Ctrl + F12 查看类的使用方法,也支持搜索。
Alt + 7 罗列出类中的所有方法。
一、ArrayList底层数据结构
- ArrayList的底层是一个Object[]数组,叫elementData。
- 还有一个记录元数个数的size变量。
二、插入方法的具体实现
插入有两种情况,一种是add方法一个一个插入;另一种是addAll方法,一次插入一个集合的数据。
三、ArrayList底层原理总结
- ArrayList的底层是一个Object[]数组,叫elementData。
- 还有一个记录元数个数的size变量。
- 如果新建一个集合,不指定长度,底层创建的是一个默认长度为0的数组。如果指定了数组长度就以指定的长度为准。
- 在添加第一个元素时,底层会创建一个新的长度为10的数组。
- 存满时扩容为原来的1.5倍。但如果是使用addAll方法一次插入多个数据,而且扩容1.5倍还装不下时,就以需要的长度为标准。
------------------------END-------------------------
才疏学浅,谬误难免,欢迎各位批评指正。