我想创建一个HashMap,它具有一个String类型的键和一个在另一个类中设置的Objects List的值。
我尝试过的代码的工作原理是,它向地图添加了一个键和一个值,但不会向一个键添加多个值。 I.E我希望Key x的值分别为1,2和3,但这似乎只是覆盖了最后一个值,而不是添加另一个值。
这是我当前的代码:
public class LeagueAdmin {
private Map<String, List<Team>> teams;
/**
* Constructor for objects of class LeagueAdmin
*
*/
public LeagueAdmin() {
this.teams = new HashMap<>();
}
public void addTeam(String division, Team team) {
if(!this.teams.containsKey(division))
{
List<Team> Team = new ArrayList<>();
Team.add(team);
this.teams.put(division, Team);
} else {
List<Team> newTeam = this.teams.get(division);
}
}
}
正如我所说,例如,当我向键字符串“ top”添加多个值时,我希望“ top”向我显示添加到其中的所有值,而只会显示最新添加的值。同样如上所述,Team对象在单独的类文件中处理。
答案 0 :(得分:2)
您的其他信息不完整。您创建了一个列表,但是在看到密钥division
存在时再也不会添加。添加
newTeam.add(team);
转到您的else语句