Java将多个元素添加到ArrayList

时间:2014-12-10 01:58:34

标签: java arraylist

还是Java的新手,但我在向我的arraylist添加多个新元素时遇到了问题。 这种方法的想法是查看并查看列表中是否已有名称,如果是,则返回false,如果不是,则将名称和人物分数添加到arraylist。 当我尝试添加它时,我一直收到错误。如果添加它只是我添加的名称部分,则会有效,但是一旦我也包含了scoreOn1st,它就会给我一个错误。

public boolean addGolfer(String name, int scoreOn1st)
{  
    // check if the golfer is already in the collection
    for (int i = 0; i < board.size(); i++)
    {
        if (board.get(i).equals(name))
        {
            return false;
        }
    }

    // otherwise

    board.add(new ScoreCard(name, scoreOn1st));
    return true;
}

这是为arraylist创建的构造函数类:

public ScoreBoard(String tourneyName)
{    
    // initialize instance varable
    this.tournament = tourneyName;
    ArrayList<ScoreCard> board = new ArrayList<ScoreCard>();
}

2 个答案:

答案 0 :(得分:0)

董事会应在外面宣布。你可以在构造函数中新建它。 get!方法返回一个ScoreCard对象,您无法直接调用equals name。

public class ScoreBoard {
List<ScoreCard> board;
public ScoreBoard(String tourneyName)
{    
    this.tournament = tourneyName;
    this.board = new ArrayList<ScoreCard>(); 
}

ScoreCard应该是这样的:

class ScoreCard {
  ScoreCard(String name) {//definition } //1st Constructor
  ScoreCard(String name, int score) { //definition } //2nd Constructor

答案 1 :(得分:0)

在构造函数中,board变量是方法变量而不是字段。

public ScoreBoard(String tourneyName)
{    
    // initialize instance varable
    this.tournament = tourneyName;
    this.board = new ArrayList<ScoreCard>(); // I assume you have declared this field.
}