ArrayList的本质
ArrayList集合是一个数组结构的集合。
ArrayList的底层逻辑
1. 利用空参创建一个集合,在底层创建一个数组长度默认为0的数组。
2. 在添加第一个元素的时候,底层会创建一个长度为10的数组。
3. 当存入的数据存满后,数组长度会扩容为原来的1.5倍。
4. 如果一次放入多个元素,1.5倍装不下的时候,则新创建的数组的长度就会以实际长度为准。
图示:最开始创建的长度:
a | b | c | d | e | f | g | h | i | j |
存满后,扩容1.5倍:
a | b | c | d | e | f | g | h | i | j | k | l | m | n | h |
当第二次存入的数据为100个时,数组就会在第一次10个的基础上再次扩容100个。扩容后,长度变为110。