增加java数组索引

时间:2014-11-16 22:48:50

标签: java arrays

如何增加Java数组索引,以便可以使用相同的变量在不同的索引处填充数组。

我曾尝试使用循环,但它不起作用,它只是覆盖以前存储在数组索引中的内容

2 个答案:

答案 0 :(得分:1)

int[] myArray = new int[10];
myArray[0] = 5;

for(int i=1; i<myArray.length; i++){
    myArray[i] = myArray[i-1]; 
}

答案 1 :(得分:0)

我不是百分百肯定你真正想要的东西,但这里有一些让我想到的东西:

1。您希望使用变量

填充数组
int[] array = new int[10];
int value = 5; // value that the array should be filled with

for (int i = 0; i < array.length; i++) {
    array[i] = value;
}

或者更方便:

int[] array = new int[10];
int value = 5; // value that the array should be filled with
Arrays.fill(array, value);

2。您想在某个索引处向数组中添加一个值,将此索引后的所有值推送到“右侧”

为此,您应该使用List接口,但这对数组执行此操作并非不可能。无可奈何,但并非不可能。

使用列表(在本例中为ArrayList):

// ArrayList<Integer> list = new ArrayList<>(); // Java 8+
ArrayList<Integer> list = new ArrayList<Integer>();
for (int i = 0; i < 5; i++)
    list.add(2);

// list contains now values 2, 2, 2, 2, 2

list.add(5, 2) // add number 5 at index 2

// list contains now values 2, 2, 5, 2, 2, 2    

3。你正试图做@Salih Erikci的想法

嗯,请参考他的回答。

他的代码中发生了什么:

  1. 数组在开头包含值5,0,0,0,0,0,0,0,0,

  2. 在每个索引处,从1开始到9结束,当前索引处的值更改为上一个索引中的值:

  3.  start:   5, 0, 0, 0, 0, 0, 0, 0, 0, 0
    loop 1:   5, 5, 0, 0, 0, 0, 0, 0, 0, 0
    loop 2:   5, 5, 5, 0, 0, 0, 0, 0, 0, 0
    loop 3:   5, 5, 5, 5, 0, 0, 0, 0, 0, 0
     . . .
       end:   5, 5, 5, 5, 5, 5, 5, 5, 5, 5