Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将对象添加到arrayList而不覆盖它_Java_List_Arraylist - Fatal编程技术网

Java 将对象添加到arrayList而不覆盖它

Java 将对象添加到arrayList而不覆盖它,java,list,arraylist,Java,List,Arraylist,如何从其他类访问上述方法,而不必覆盖arraylist中的对象?我正在尝试创建一个新的玩家,并设置其名称/价值/花费,然后将其添加到PlayerList的arraylist中,而不是覆盖它 ArrayList对象不会覆盖,除非您明确告诉它们,否则它们只会在您向其中插入数据时移动内容 也就是说,访问底层数据结构而不实际篡改它们的一个好方法是迭代器 似乎您正试图在ArrayList中放置唯一的对象。但是,当您添加与先前项目完全相似的新项目时,ArrayList不会覆盖先前的项目。ArrayList保

如何从其他类访问上述方法,而不必覆盖arraylist中的对象?我正在尝试创建一个新的玩家,并设置其名称/价值/花费,然后将其添加到PlayerList的arraylist中,而不是覆盖它

ArrayList对象不会覆盖,除非您明确告诉它们,否则它们只会在您向其中插入数据时移动内容

也就是说,访问底层数据结构而不实际篡改它们的一个好方法是迭代器

似乎您正试图在ArrayList中放置唯一的对象。但是,当您添加与先前项目完全相似的新项目时,ArrayList不会覆盖先前的项目。ArrayList保留所有重复项。如果不想保留重复项,则可以使用覆盖equals方法和hashCode方法的HashSet。但是,如果仍要使用ArrayList,在这种情况下,可以按照以下步骤操作:

一,。重写你的玩家类等于方法。为那些要标识玩家唯一性的属性重写you equals方法。 2.在添加到ArrayList之前,请使用ArrayList.contains方法评估ArrayList中是否已存在项-


是的,你可以!只需自己检查一下,你可能需要重新表述你的问题。不清楚您想要什么。上面的内容不会覆盖列表中的项目。如果您遇到问题,它可能位于其他地方,例如在Player中。这是一个有趣的问题,但应该重新表述以使其更清楚。抱歉,伙计们,问题不是它被覆盖,上面的代码是正确的,而是在我的构造函数中,我正在重新创建包含所有玩家的PlayerList ArrayList。我花了3个小时才弄明白,但当我发现问题的时候,感觉还是很好的。无论如何,谢谢你的帮助。案件结案。
public ArrayList<Player> addPlayer(String playerName, int playerWorth,   int playerSpent)
{
    Player newPlayer = new Player();
    newPlayer.setPlayerName(playerName);
    newPlayer.setPlayerWorth(playerWorth);
    newPlayer.setPlayerSpent(playerSpent);
    playerAList.add(newPlayer);
    return playerAList;
}
Player newPlayer = new Player();
newPlayer.setPlayerName(playerName);
newPlayer.setPlayerWorth(playerWorth);
newPlayer.setPlayerSpent(playerSpent);

if(!playerAList.contains(newPlayer)){
   playerAList.add(newPlayer);
}