我的足球队有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。
这甚至有可能吗?
答案 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);
}