ArrayList的主要属性包含存放数据的数组elementData和保存数组中存放数据多少的size,默认的是空数组,初始化之后size为0。当添加数据的时候会将size+1,并且会提前调整数组的大小,如果size+1之后比数组大小大,则调整数据,调整的算法是当前数组的长度加上当前数组的一半。
在指定位置添加数据和移除数据都比较影响性能,这两个操作都涉及到使用 system.arraycopy 来移动数据。
AarrayList的优势是快速读写,往里面直接添加数据和查找指定位置的数据。例如使用index遍历的效率最高。
学习参考 Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例
网友评论