ListIntegerlistnewArrayList(3);list.set(0,100);在 Java 开发中执行上述代码出现如下错误信息java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0问题原因initialCapacity 是底层数组的大小size 是列表中实际存储的元素个数publicArrayList(intinitialCapacity){if(initialCapacity0){this.elementDatanewObject[initialCapacity];}elseif(initialCapacity0){this.elementDataEMPTY_ELEMENTDATA;}else{thrownewIllegalArgumentException(Illegal Capacity: initialCapacity);}}publicEset(intindex,Eelement){if(indexsize)thrownewIndexOutOfBoundsException(outOfBoundsMsg(index));EoldValue(E)elementData[index];elementData[index]element;returnoldValue;}调用 size 方法仍为 0ListIntegerlistnewArrayList(3);System.out.println(list.size());# 输出结果 0处理策略初始化时填充 null 值intinitialCapacity3;ListIntegerlistnewArrayList(initialCapacity);for(inti0;iinitialCapacity;i){list.add(null);}System.out.println(list.size());list.set(0,100);System.out.println(list.get(0));# 输出结果 3 100