编辑对象的特定实例

时间:2014-09-02 10:52:56

标签: java

假设我让玩家创建团队并创建团队调用团队类的新实例,该实例具有名为members的数组列表。

现在在主课程中,我如何在被邀请后将球员添加到球队?我在团队类中有一个addPlayer方法,只是将它们添加到arraylist但是如果当前有多个团队类实例(其他玩家已经创建了团队),它将如何知道要加入哪个?

我在TeamLeader的Teams类中有一个变量,它在创建实例时会被设置,如果这可以帮助我编辑某个实例。

Team team = new Team(this, leader);

任何帮助都是适用的

2 个答案:

答案 0 :(得分:1)

您需要一个标识符来唯一地区分每个团队,您可以使用该标识符将团队存储在Map中。像这样:

Map<String,Team> teamMap = new HashMap<String,Team>();

根据您的要求选择密钥类型,我选择String作为示例

答案 1 :(得分:0)

根据您的设计,您需要在创建后将所有团队保留在列表中。

ArrayList teamsList=new ArrayList ();
Team team = new Team(this, leader);
teamsList.add(team);

然后在addPlayer方法中遍历所有团队,然后比较leader,然后添加一个播放器。像这样的东西 -

public void addPlayer (Player player,String leader){

for(int i=0; i<teamListSize;i++)

    Team tempTeam=teamsList.get(i);

    if(tempTeam.getLeader().equalsIgnoreCase(leader)){

        tempTeam.add(player);
        break;
    }

}