如何返回HashMap的值

时间:2015-07-20 22:25:47

标签: java

我们说我们有地图

private Map<TeamType, Player> teamPlayers = new HashMap<>();

我们将它们初始化

teamPlayers.put(TeamType.ONE, new ArrayList<Player>());
teamPlayers.put(TeamType.TWO, new ArrayList<Player>());

我们在其中存储了一些值

teamPlayers.get(TeamType.ONE).add(player);
teamPlayers.get(TeamType.TWO).add(player);

除了做

之外,还有办法让两队的球员数量都有所回报
int totalPlayers = teamPlayers.get(TeamType.ONE).size() + teamPlayers.get(TeamType.Two).size();

因为在拥有超过4支球队之后,这会变得非常混乱。请记住,TeamType是一个枚举。

1 个答案:

答案 0 :(得分:1)

 int total =teamPlayers.get(TeamType.TEAM_ONE).size() + teamPlayers.get(TeamType.TEAM_TWO).size()

应该有效。您可以发布当前代码而不是引用旧帖子吗?很难知道你做了什么改变以及你从上一篇文章中得到了什么建议。

更新了有关迭代TeamType枚举中每个条目的答案:

int total = 0;
for(TeamType type : TeamType.values()){
    total += teamPlayers.get(type).size();
}

因此每个循环将遍历枚举中的每个条目,总数将累计每个团队的玩家数量