gpt4 book ai didi

java - 将数据存储在数组中并使用 for 循环下推项目

转载 作者:行者123 更新时间:2023-12-01 18:41:05 25 4
gpt4 key购买 nike

我不确定如何使此方法将项目下推而不是覆盖它们。现在,如果我有一个包含 10 个项目的数组:

[0] = zero
[1] = one
[2] = two
...
[10] = ten

我在索引 [2] 处插入一个项目,发生的情况如下:

[0] = zero
[1] = one
[2] = two
[3] = two
[4] = two
...
[10] = two

它会覆盖所选索引之后的所有项目,而不是按索引将它们下推。为什么会发生这种情况以及如何解决它?谢谢。

public void insert(int i, String s) {

if (array[i] == null) {
array[i] = s;spot on the list.
} else {
for (int j = i; j < array.length - 1; j++) {
array[j + 1] = array[j];

if (j == array.length - 1) {
break;
}
}
array[i] = s;
extendArray();

最佳答案

如果您想“推送”项目而不是“覆盖”它们,那么您不应该使用数组,使用 ArrayList 可以更轻松地完成这项工作:

List<Integer> lst = new ArrayList<Integer>();
lst.add(1);
lst.add(3);
lst.add(4);
lst.add(1, 2); // "push" the elements to the right, making room for 2

在上面的示例中,最后的 lst 将包含 1, 2, 3, 4

关于java - 将数据存储在数组中并使用 for 循环下推项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19958026/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com