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

时间:2019-05-07 22:08:55

标签: java object hashmap key

我想创建一个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对象在单独的类文件中处理。

1 个答案:

答案 0 :(得分:2)

您的其他信息不完整。您创建了一个列表,但是在看到密钥division存在时再也不会添加。添加

newTeam.add(team);

转到您的else语句