0

我正在开发一个 Sports 程序,其中我有一个包含多个 Player 对象的无序列表。这些球员对象是篮球队的球员,具有球队(字符串)、总得分(整数)等属性。

我目前正在尝试编写一种方法来计算联盟中得分最高的球队。所以我的列表中有多个玩家对象,每个对象都有各自的总得分,我试图用它来找出得分最高的球队。

我可以通过循环遍历列表并找到最高分值,然后再次循环查找得分 = 到上一个循环中找到的最高值的玩家来轻松计算得分最多的玩家。问题是我不知道如何对整个团队执行此操作,特别是因为现在所有点值都必须属于一个团队。

谢谢

4

1 回答 1

1

使用地图,您可以执行以下操作:

Map<String, Integer> teamsPoints = new HashMap<String, Integer>();
for (Player player : players)
{
    Integer teamPoints = teamsPoints.get(player.getTeamName());
    if (teamPoints == null)
        teamsPoints.put(player.getTeamName(), player.getPoints());
    else
        teamsPoints.put(player.getTeamName(), teamPoints + player.getPoints());
}

您可以像这样遍历地图:

for (Map.Entry<String, Integer> teamPoints: teamsPoints.entrySet()) 
{
    System.out.println("Team = " + teamPoints.getKey() + ", Total points= " + teamPoints.getValue());
}
于 2013-10-23T23:52:13.857 回答