增加数组大小并在最后一个索引处插入元素

时间:2014-10-29 01:51:42

标签: java arrays loops

我有动态数组大小。我想将大小增加1,并在最后一个索引数组中插入一个新元素。这该怎么做?例如现在:我的数组大小为2,当我进行循环时,我将数组大小增加1并尝试在最后一个数组中插入一个新元素。我已经尝试了下面的代码,但每当遇到空数组时循环停止。我想要这样的东西:array [0] = value,array [1] = value,array [2] = remarks

            while (z <= array.length+1){

            System.out.println("z: "+z);

            value  = array[z];

                str_value += value  + ",";

                if (array[z] == null){

                    str_value += remarks + ",";
                    continue;
                }

                System.out.println("value: "+value );                   
        z++;
        }
  System.out.println("str value: "+str_value);

3 个答案:

答案 0 :(得分:1)

您无法调整java数组的大小(不复制/创建新数组)。好像你正在寻找ArrayList这是Java中的动态数组。这里有一个例子供你参考:

    ArrayList<String> al = new ArrayList<String>();

    al.add("JAVA");
    al.add("PERL");
    al.add("SQL");

    //get elements by index
    System.out.println("Element at index 1: "+al.get(1));

答案 1 :(得分:0)

您不会通过引用array [array.length()+ 1]来添加数组。这只会给出数组越界错误。

正如其他人所说,你不能在数组中添加一个空元素。

如果你需要创建一个动态数组,你应该考虑某种列表,在这种情况下可能是一个ArrayList。

答案 2 :(得分:0)

您可以尝试使用System.arraycopy()

int[] a = new int[]{1,2,3,4,5};
int[] b = new int[5];

System.arraycopy( a, 0, b, 0, a.length );

您可以将额外元素添加到第二个数组,然后复制

链接到JavaDoc以供参考