arraylist-android 数组下标问题

问题描述

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

arraylist-android 数组下标问题的相关文章

Android中ArrayList和数组相互转换_Android

List-–>数组 在大家开发中应该经常碰到List与数组类型之间的相互转换,举一个简单的例子: package test.test1; import java.util.ArrayList; import java.util.List; public class Test { /** * @param args */ public static void main(String[] args) { List list=new ArrayList(); list.add("王利虎"

Android中ArrayList和数组相互转换

List-–>数组 在大家开发中应该经常碰到List与数组类型之间的相互转换,举一个简单的例子: package test.test1; import java.util.ArrayList; import java.util.List; public class Test { /** * @param args */ public static void main(String[] args) { List list=new ArrayList(); list.add("王利虎"

JQuery使用index方法获取Jquery对象数组下标的方法

  本文实例讲述了JQuery使用index方法获取Jquery对象数组下标的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65

opengl-GLSL语言编写着色器时数组下标的问题

问题描述 GLSL语言编写着色器时数组下标的问题 在GLSL中,opengl红宝书第八版写的数组是列主序的,也就是第一个下标是列,第二个下标是行,但看到后边就感觉有点晕了,列主序是说存储时按列主序还是声明变量和访问数组元素是按列主序,比如,int a[4][3]在GLSL中是3行4列的数组还是4行3列的数组,之所以会有这样的疑惑,是因为看书是遇到这么几句话 mat2 m,u,v m=u*v //m={u00*v00+u01*v10 u00*v01+u01*v11 // u10*v00+u11*v

c语言-初学C语言中数组下标的问题

问题描述 初学C语言中数组下标的问题 void strtol(char s[]){ int i=0; while(s[i++]); while(i>=0) s[i--]=s[i]; } 发现没有报错,怎么解释呢 显然会出现s[0]=s[-1]不是吗 解决方案 s[i--]=s[i]; 这个执行的是s[i]=s[i]; i--; 再说了,就算数组访问下溢,也不会报错. 解决方案二: s[-1]相当于*(s-1),也就是说数组的第一项之前的一字节内存.越界了.编译器没有你想象的那么智能,所以没报错

数据越界-android数组越界问题。。。

问题描述 android数组越界问题... 解决方案 下一行最后position越界了 解决方案二: 解决方案三: 数组越界问题c++ 数组越界问题 解决方案四: 应该是county的数组越界了吧? 解决方案五: //大类选项值 private String[] province = new String[] {"布","膜","纸","贴","高","浆","胶",

js调用cs后台的c数组,怎样根据下拉框的值指定c数组下标?

问题描述 js调用cs后台的c数组,怎样根据下拉框的值指定c数组下标?//aspx:<selectid="AreaList"onChange="a()"runat="Server"><optionvalue="1">ah</option><optionvalue="2">vv</option></select><divid=&qu

《C语言程序设计进阶教程》一3.2.2 错误数组下标

3.2.2 错误数组下标 本文讲的是C语言程序设计进阶教程一3.2.2 错误数组下标,对于一个有n个元素的数组,有效的下标是0,1,2, -, n-1,而n是一个无效的下标.当一个程序有着错误的下标时,这个程序就可能在一些情况下工作,而在其他的情况下崩溃.你不会想去编写一个靠运气工作的程序. 3.2.3 错误数据类型 你能骑自行车.你也可以用钢笔写字.你却不能骑钢笔,也不能用自行车写字.在程序中,类型指定功能.你需要理解并正确地使用类型.编程语言的趋势是让数据类型更有限制性,防止程序员犯意外的错

PHP使用array_merge重新排列数组下标的方法_php技巧

本文实例讲述了PHP使用array_merge重新排列数组下标的方法.分享给大家供大家参考.具体如下: 用了一个array_unique去除了一个数组里面的重复,但是发现下标保留了原数组的下标,但是php使用for循环需要下标整齐,所以寻找重新排列数组下标的方法array_merge可以解决这个问题 array_merge() 函数把两个或多个数组合并为一个数组. 如果键名有重复,该键的键值为最后一个键名对应的值(后面的覆盖前面的).如果数组是数字索引的,则键名会以连续方式重新索引. 注释:如果