问题描述
- android 数组下标问题
-
我要在arraylist指定位置添加数据,List shop_list= new ArrayList();此时的shop_list的size是0,如果我往1或者2的位置添加数据,会数组越界。请问怎么解决
解决方案
FORTRAN 数组的下标问题
数组----下标与指针效率问题
解决方案二:
只能按照顺序添加,不然你就新建一个数组,往数组里面放。另外你可以在list已经有数据的时候,往指定的位置添加。
解决方案三:
给空的位置填null吧
解决方案四:
亲,你这种需求是基于什么问题,如果能将你遇到的问题说出来,也许大家能给你一个很好的解决方案。
你遇到的问题报错原因在于ArrayList的set方法中有检查你给定的位置是否越界。
public E set(int index, E element) {
rangeCheck(index);
E oldValue = elementData(index);
elementData[index] = element;
return oldValue;
}
private void rangeCheck(int index) {
if (index >= size)
throw new IndexOutOfBoundsException(outOfBoundsMsg(index));
}
解决方案五:
大哥arraylist是内部实现是数组,如果你要在指定位置添加,得用链表LinkedList,这样效率才高。。
解决方案六:
arraylist 原本就是有序无重复的容器, 不用指定的。 如果一定要指定位置,建议使用hashMap!
解决方案七:
必须先给arraylist赋值才能插入到下标1或者2的位置,不然数组下标最大为0,1和2是不存在的。。插入肯定出现越界异常。
时间: 2024-07-28 19:59:44