如何向数组添加元素?

时间:2015-07-25 08:06:04

标签: java

我用String数组编写了这段代码:

public static String[] prgmNameList = {"bbbbb", "aaaaa"};

现在我的问题是,如何将新项添加到该数组中:

prgmNameList.add("cccc");

5 个答案:

答案 0 :(得分:1)

prgmNameList是一个数组。创建数组对象后,无法更改其大小。如果需要可变大小的容器,请使用集合。例如,使用ArrayList

List<String> prgmNameList = new ArrayList<String>(3);
prgmNameList.add("bbbb");

也就是说,如果你坚持使用数组,你需要将你的初始数组复制到一个新的数组中,用于你想要添加到数组的每个新元素,这可能很昂贵。有关详细信息,请参阅System#arrayCopy。事实上,ArrayList类在内部使用一个数组,一旦使用System.arrayCopy完全展开,那么为什么要重新发明轮子呢?只需使用ArrayList

即可

答案 1 :(得分:1)

简单来说,请注意以下几点:

  • 数组大小始终是固定的。(在您的示例中,通过添加2个元素将数组大小固定为2)
  • 数组基于从0开始的索引运行,如 - prgmNameList[0]将返回数组中添加的第一个元素
  • 无法在任何时间更改数组大小。 如果您需要变量大小,请选择List实施之一
  • ArrayList是您需要的最佳选择,可以将自己定义为'可缩小或增长的数组'

示例代码:

public static List<String> prgmNameList= new ArrayList<String>();
prgmNameList.add("bbb");
prgmNameList.add("bbb");
prgmNameList.add("ccc");
prgmNameList.remove("bbb"); //Removes by object resolved by equals() method
prgmNameList.remove(2); //Removes by index

答案 2 :(得分:0)

你必须像那样使用ArrayList

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


  // add elements to the array list
  al.add("C");
  al.add("A");
  al.add("E");
  al.add("B");

如果你想像你一样使用数组,你必须知道要添加的元素数量

String [] myList = new String [10];

然后

myList[4]="AA"

- 这不可能添加到myList。 我向你解释ArrayList是如何工作的,然后你会理解。

ArrayList是一个包含来自对象的Array的类。每次添加它时都要检查它是否有地方将数据存储在数组中,否则它会创建更大的新数组并存储数据。

所以ArrayList这是解决方案(或任何其他列表) 如果要添加到myList,则必须实现arratList ..

答案 3 :(得分:0)

您创建了一个无法增长的数组,因为它的大小已经固定。 您需要创建一个列表以添加新元素,如下所示。

List<String> prgmNameList = new ArrayList<String>();
prgmNameList.add("aaaa");
prgmNameList.add("bbbb");
prgmNameList.add("cccc");

答案 4 :(得分:-1)

您要查找的方法是为Collection定义的,但您使用的是带有数组初始值设定项的数组。

我建议切换到List

public static List<String> prgmNameList= new ArrayList<>(Arrays.asList("bbbbb","aaaaa"))

然后你可以在它上面调用add,因为它现在是一个列表。 顺便说一句:尽量防止static变量中存在可变变量。