检查映射中是否存在ArrayList

时间:2019-04-10 09:40:35

标签: java arraylist maps

我的足球队有5个不同的球队,我正在尝试制定一个程序来跟踪每个团队中注册了哪些球员。我希望能够添加一个新播放器,但首先程序会检查该播放器是否已注册。我将来也可以添加新团队,然后再次检查该团队是否已经存在。

我已经用

制作了一个Map变量

private Map<String, List<Player>> teamName;

然后在构造函数中初始化它

teamName = new HashMap<>();

然后我有一个添加新球队和新球员的方法,我希望该方法检查俱乐部名称是否已经存在,然后如果存在,则将球员名称添加到该俱乐部。如果它不存在,那么我希望程序添加一个新的Club,然后将该玩家添加到该Club。

到目前为止,我有一种添加新播放器的方法,

public void newPlayer(String club, Player name) {
}

我不确定现在如何检查club是否存在ArrayList,如果确实将name添加到该列表中,如果club不存在,那么我想制作一个新列表并向其中添加name

如果我随后运行程序并编写,

Player jamesAtkinson = new Player();

newPlayer("first team", jamesAtkinson);

它将检查地图中是否存在一个名为“第一队”的列表,然后将James Atikinson添加到其中,或者创建一个名为第一队的新列表,然后添加James Atkinson。

这甚至有可能吗?

1 个答案:

答案 0 :(得分:3)

尽管您在问题中提供的代码存在一些问题。您正在寻找的是.containsKey函数,该函数挂在Map界面之外。

if (players.containsKey("first team") {
     // Do something
} else {
     List<Player> firstTeam = new ArrayList<>();
     firstTeam.add(jamesAtikson);
     players.put("first team", jamesAtikson);
}