如何在数组中添加项?

时间:2012-05-11 14:24:41

标签: java arrays

我想在数组顶部添加项目吗?

我怎样才能实现这一目标?

数组中有两个项目。我想在数组顶部添加项目。

result1 = new String[result.length+1];

            for(int i=result.length;i==0;i--)
        {
            if(i==0)
            {
               result1[0]="Latest";

            }
            result1[i]=result[i-1];

        }   

5 个答案:

答案 0 :(得分:3)

回答你的问题:你需要

  1. 使用size = old length + 1创建一个新数组。
  2. 将旧数组的内容复制到新数组
  3. "latest"插入新数组:
  4. 像这样:

    String[] result = { "a", "b", "c" };
    String[] tmp = new String[result.length+1];
    
    System.arraycopy(result, 0, tmp, 1, result.length);
    tmp[0] = "latest";
    result = tmp;
    

    但是,我建议您考虑使用List,例如ArrayList,在这种情况下,您可以将其表达为

    result.add(0, "latest");
    

答案 1 :(得分:0)

你不能:数组有固定的长度。

如果你想拥有可变大小"数组",请使用ArrayList

例如:

ArrayList<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.set(0, "new a");
for (String s: list) {
    System.out(s);
}

答案 2 :(得分:0)

但您可以使用ArrayList和add(int index, E object)功能,您可以在任何地方添加项目。你可以轻松地将ArrayList转换为array []

答案 3 :(得分:0)

使用堆栈作为LIFO(后进先出),因此每当您弹出(读取)时,您将获得最新的(在顶部)推送项目

以下是使用Array:http://wiki.answers.com/Q/Implementing_stack_operation_using_array_representation_with_java_program

的Java代码参考

答案 4 :(得分:0)

您的解决方案的一个问题是,在i == 0时,您将值设置为Latest,但在使用result1[i]=result[i-1];

之后会覆盖该值

尝试

if(i==0) {
     result1[0]="Latest";
}
else {
     result1[i]=result[i-1];
}