Java HashMap/ArrayList不会为每个键获取多个值

Java HashMap/ArrayList不会为每个键获取多个值,java,object,hashmap,key,Java,Object,Hashmap,Key,我想创建一个HashMap,它有一个String类型的键和一个在另一个类中设置的对象列表的值 我尝试过的代码的工作原理是,它向映射添加一个键和一个值,但不会向一个键添加多个值。也就是说,我希望键x的值为1、2和3,但它似乎只是覆盖了最后一个值,而不是添加另一个值 这是我当前的代码: public class LeagueAdmin { private Map<String, List<Team>> teams; /** * Const

我想创建一个HashMap,它有一个String类型的键和一个在另一个类中设置的对象列表的值

我尝试过的代码的工作原理是,它向映射添加一个键和一个值,但不会向一个键添加多个值。也就是说,我希望键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);
        }
    }
        }
public class LeagueAdmin{
私人地图小组;
/**
*类LeagueAdmin的对象的构造函数
*
*/
公共联盟管理(){
this.teams=newhashmap();
}
公共团队(字符串部门、团队){
如果(!this.teams.containsKey(分部))
{
列表团队=新建ArrayList();
团队。添加(团队);
这个。团队。put(部门,团队);
}否则{
List newTeam=this.teams.get(division);
}
}
}

如前所述,例如,当我向键字符串“top”添加多个值时,我希望“top”显示添加到其中的所有值,而只显示最新添加的值。如前所述,团队对象在单独的类文件中处理。

您的else不完整。您创建了一个列表,但当它看到键
分区
存在时,不会将其添加到列表中。加

newTeam.add(team);

对于您的else语句,您的else不完整。您创建了一个列表,但当它看到键
分区
存在时,不会将其添加到列表中。加

newTeam.add(team);

对于您的else语句

感谢您的快速响应,由于某些原因,该语句会引发更多错误,例如:“找不到符号-方法添加(团队)”,尽管在上述if语句中使用了它抱歉。应该是newTeam.add(team)和this.teams.put(division(newTeam)。此外,在变量(您的
ArrayList团队
)的第一个单词中使用大写字母是一种不好的做法,它可以完美地工作。感谢您提供有关命名约定的提示。感谢您的快速响应,因为某些原因会引发更多错误,例如:“找不到符号-方法添加(团队)”即使在上面的if语句中使用抱歉。应该是newTeam.add(团队)和this.teams.put(division(newTeam)。此外,在变量的第一个单词(您的
ArrayList团队
)中使用大写字母是不好的做法这很好用。谢谢你关于命名约定的提示。