How to return the value of a HashMap
本问题已经有最佳答案,请猛点这里访问。
假设我们有地图
1 | private Map<TeamType, Player> teamPlayers = new HashMap<>(); |
我们初始化它们
1 2 | teamPlayers.put(TeamType.ONE, new ArrayList<Player>()); teamPlayers.put(TeamType.TWO, new ArrayList<Player>()); |
我们在里面储存了一些价值观
1 2 | teamPlayers.get(TeamType.ONE).add(player); teamPlayers.get(TeamType.TWO).add(player); |
有没有办法把两队队员的数量都还回来
1 | int totalPlayers = teamPlayers.get(TeamType.ONE).size() + teamPlayers.get(TeamType.Two).size(); |
因为如果有超过4支球队,这会变得非常混乱。请记住,teamtype是一个枚举。
1 | int total =teamPlayers.get(TeamType.TEAM_ONE).size() + teamPlayers.get(TeamType.TEAM_TWO).size() |
应该工作。您可以发布当前代码而不是引用以前的日志吗?很难知道你做了什么改变,你从上一篇文章中得到了什么建议。
更新了对TeamType枚举中每个条目进行迭代的答案:
1 2 3 4 | int total = 0; for(TeamType type : TeamType.values()){ total += teamPlayers.get(type).size(); } |
因此for-each循环将遍历枚举中的每个条目,total将为每个团队累积玩家数。