在Java中的另一个ArrayList中从ArrayList获取项目?(董事会希望在某个位置获取播放器)

在Java中的另一个ArrayList中从ArrayList获取项目?(董事会希望在某个位置获取播放器),java,collections,arraylist,nested,Java,Collections,Arraylist,Nested,它适用于Java中的垄断型游戏。 我想知道我如何通过他们的id获得一个特定的玩家,它在棋盘上通过一个位置的数组列表,检查每个人的数组列表,寻找那个特定的玩家 public class Board private ArrayList<Location> AllLocations = new ArrayList<Location>(); public Player getPlayer(int pl){ int index = 0; for(Location t

它适用于Java中的垄断型游戏。 我想知道我如何通过他们的id获得一个特定的玩家,它在棋盘上通过一个位置的数组列表,检查每个人的数组列表,寻找那个特定的玩家

public class Board 


private ArrayList<Location> AllLocations = new ArrayList<Location>();
public Player getPlayer(int pl){
int index = 0;
     for(Location temp : AllLocations)
    {
        if(temp.getPlayerId() == pl)
        {return temp;}
    }

    return null;

}
}

我只想得到它,这样我就可以找出iD为1的玩家在哪里,例如,他们在棋盘上的位置。

而不是有一个位置列表,并且必须根据iD搜索玩家。向玩家对象添加一个位置变量,以便玩家始终知道它在哪里


不相关,在for循环中使用temp作为变量名会使代码难以读取。我建议使用更具描述性的名称,如“玩家”或“位置”。

而不是有位置列表,并且必须根据id搜索玩家。向玩家对象添加位置变量,以便玩家始终知道其位置


不相关,在for循环中使用temp作为变量名会使代码难以读取。我建议使用更具描述性的名称,如“玩家”或“位置”。

IMHO location类不应包含玩家列表。在大多数情况下,这个列表将是空的,因此它毫无意义。考虑向玩家添加一个位置变量,或者引入某种游戏控制器类,将玩家与他们的位置连接起来。

< P> iMHO位置类不应该包含玩家的列表。在大多数情况下,这个列表将是空的,因此它毫无意义。考虑向玩家添加一个位置变量,或者引入某种游戏控制器类,将玩家与他们的位置连接起来。

你应该(在你的棋盘或游戏中)列出所有玩家(用ID编索引)——如果你的ID不连续的话,也可以是一张地图。它们实际上不会独立于游戏而改变,因此始终搜索它们是没有意义的。

你应该(在你的棋盘或游戏中)有一个包含所有玩家的列表(按ID索引)-或者一个地图,如果你的ID不是连续的。它们不会独立于游戏而改变,所以永远搜索它们是没有意义的

public abstract class Location {
private ArrayList<Player> Players = new ArrayList<Player>();

public Player getPlayerId (int id) {

    int index = 0;
     for(Player temp : Players)
    {
        if(temp.getId() == id)
        {return temp;}
        else
        {return null;}
    }

    return null;
}


}
public class Player {

public int getId() {

    return PlayerId;
}

}