[英]Checking if an ArrayList exists in a map
我的足球队有5个不同的球队,我正在尝试制作一个程序来跟踪每个球队注册的球员。 我希望能够添加一个新玩家,但首先程序会检查该玩家是否已经注册。 我也可以在将来添加新的团队,我想再次检查该团队是否已经存在。
我用了一个Map变量
private Map<String, List<Player>> teamName;
然后在构造函数中初始化它
teamName = new HashMap<>();
然后,我有一个方法来添加新的团队和新玩家,我希望方法检查俱乐部名称是否已经存在,然后如果它存在,则将玩家名称添加到该俱乐部。 如果它不存在那么我希望程序添加一个新的俱乐部,然后将该球员添加到该俱乐部。
到目前为止,我有一种添加新玩家的方法,
public void newPlayer(String club, Player name) {
}
我不确定我现在如何检查club
是否存在ArrayList,如果它确实为此列表添加了name
,如果club
不存在,那么我想创建一个新列表并为其添加name
。
如果我然后运行程序并写,
Player jamesAtkinson = new Player();
newPlayer("first team", jamesAtkinson);
它会检查地图中是否有名为“第一队”的列表,然后将James Atikinson添加到其中,或者创建一个名为第一队的新列表,然后添加James Atkinson。
这甚至可能吗?
虽然您在问题中提供的代码存在一些问题。 您正在寻找的是挂起Map接口的.containsKey
函数。
if (players.containsKey("first team") {
// Do something
} else {
List<Player> firstTeam = new ArrayList<>();
firstTeam.add(jamesAtikson);
players.put("first team", jamesAtikson);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.