关于ArrayList的扩容机制 ArrayList作为List接口常用的一个实现类,其底层数据接口由数组实现,可以保证O(1) 复杂度的随机查找, 在增删效率上不如LinkedList,但是在查询效率较高,相对同是数组实现的Vector,并不能保证线程安全,所以多适用于单线程环境. 由于底层是有数组实现,因为数组的长度需要初始化定义,并不能自动进行长度增加,所以ArrayList有对应的扩容机制,当增加元素时,会判断是否需要扩容,下面看源码: 首先认识ArrayList的几个重要变量: /*序…