定义集合直接调用set()方法下标越界异常(IndexOutOfBoundsException)

过程:

当我们定义一个初始化大小的ArrayList,直接调用set方法会报下标越界异常

原因:

 

 

 

其中Set()方法源码第一行 检查了 index和size,index是下标,size是元素个数,也就是说针对ArrayList中元素的操作,是根据元素的位置,而不是根据容量来操作,没有任何元素的集合size为0,就不能对他进行操作.(有东西才能改,没东西有地方也不让改)

 

 

解决:

可以通过add()进行操作

总结:综上所述ArrayList(int initialCapacity) 只是让ArrayList有了容纳 initialCapacity个元素的潜力,并不能对其中的“位置”操作

posted on 2023-03-13 21:31  zl子路  阅读(112)  评论(0)    收藏  举报