Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 变量在arrayList中进入错误位置_Java_Android - Fatal编程技术网

Java 变量在arrayList中进入错误位置

Java 变量在arrayList中进入错误位置,java,android,Java,Android,我正在创建一个包含500个空整数的arrayList,以便可以在任意位置添加值: ArrayList<Integer> array = new ArrayList<>(); array.addAll(Arrays.asList(new Integer[500])); ArrayList数组=新的ArrayList(); addAll(Arrays.asList(新整数[500]); 我的问题是,当我在第8个位置加上一个整数时,它会将后面的所有整数推到下一个位置。示例:

我正在创建一个包含500个空整数的arrayList,以便可以在任意位置添加值:

ArrayList<Integer> array = new ArrayList<>();
array.addAll(Arrays.asList(new Integer[500]));
ArrayList数组=新的ArrayList();
addAll(Arrays.asList(新整数[500]);
我的问题是,当我在第8个位置加上一个整数时,它会将后面的所有整数推到下一个位置。示例:我在位置5处有一个整数,在位置8处有一个整数,如果我在位置7处添加一个整数,则在位置8处的整数将移动到位置9。这种效果正在破坏我的循环

添加:
array.add(位置,薄荷)


有人能帮忙吗?

如果您想覆盖给定位置的整数,请使用
set(index,data)
而不是
add

用于将数据添加到数组中,因此它不会替换现有的数据,来自javadocs:

在此列表中的指定位置插入指定元素(可选操作)将当前位于该位置的元素(如果有)和任何后续元素向右移动(将一个元素添加到其索引中)

用于用javadoc中的新数据替换给定索引中的现有数据:

用指定的元素替换此列表中指定位置的元素(可选操作)

我的问题是,当我在第8个位置加上一个整数时,它会将后面的所有整数推到下一个位置

这就是add()的工作原理:

在此列表中的指定位置插入指定元素。 移动当前处于该位置的元素(如果有)和 右侧的后续元素(将一个元素添加到其索引中)

如果要就地更改,请改用:

将此列表中指定位置的元素替换为 指定的元素


那已经在第9位的那个呢?你希望看到什么样的行为?你想
设置
索引而不是将其向后移动吗?@Blackbelt移动到10thLook在JavaDoc上查看。然后查看JavaDoc for.Hint:您需要做一些事先的研究:比如阅读JavaDoc以了解您正在使用的类。您真的不应该将stackoverflow用作“快捷方式”。