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