Java for循环创建n个对象

时间:2009-11-29 16:22:50

标签: java arraylist

我需要一些帮助。我想创建一个for循环,创建一个类的n个对象,然后将它们添加到一个arraylist中。像这样:

//Player is a custom class 
ArrayList<Player> numberofPlayersArray;
numberofPlayersArray = new ArrayList<Player>();

//n is a variable for the number of Player class objects that I want to create
  for(int i = 0; i < n; i++)
  {

    //this is what I can come up with but I am missing something 

     Player p;
     p = new Player
     numberofPlayersArray.add(p);

    }

任何帮助将不胜感激

4 个答案:

答案 0 :(得分:5)

您的代码在语法上看起来是正确的,只有一个例外。

更改

p = new Player

p = new Player();

我假设变量n已声明并初始化,Player类是使用无结构构造函数定义的。

答案 1 :(得分:4)

//Player is a custom class 
ArrayList<Player> numberofPlayersArray = new ArrayList<Player>(n);

//n is a variable for the number of Player class objects that I want to create
for(int i = 0; i < n; i++) {

    //this is what I can come up with but I am missing something 

     Player p = new Player();
     numberofPlayersArray.add(p);
}

请注意,最好使用大小初始化ArrayList(如果已知)(如您的情况)

答案 2 :(得分:0)

我在这里看不到问题,只是做

p = new Player();

(但这可能只是一个错字)并且播放器列表将填充n个不同的Player对象。

注意,我只是假设,你想使用Player的默认构造函数。

命名提示:除非你想让自己迷惑,否则你不应该将列表命名为“..Array”;)只需将其命名为“..List”

答案 3 :(得分:0)

不要忘记编写接口(而不是具体类)。

List<Player> numberofPlayers = new ArrayList<Player>(n);

忘记这样做(或者不知道)这是一个常见的初学者错误。

如果您决定稍后切换到备用列表实现(LinkedList或者Google Collection或Apache Commons Collection列表),您将不必更改列表的每个引用 - 只是初始分配。