繁体   English   中英

检查地图中是否存在ArrayList

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM