一段java代码 String e = "q3234v"; List<String> list = new ArrayList<String>(); for (int i = 0; i < 25; i++) { list.add(e); } 执行这段代码,list会扩容几次 查看ArrayList的add方法,在添加元素之前会执行ensureCapacityInternal方法 这个时候size为0 public boolean add(E e) { en
动态扩容 1.add(E e)方法中 ① ensureCapacityInternal(size+1),确保内部容量,size是添加前数组内元素的数量 ② elementData[size++] = e 添加元素到相应位置,元素数量加1 2. ensureCapacityInternal(size+1)确保内部容量 ① 计算最小需要空间(如果传入的是个空数组则最小容量取默认容量与minCapacity之间的最大值) ② 判断是否需要扩容(如果最小需要空间比elementData的内存空间要