gpt4 book ai didi

java - 如何通过某种类型的变量使用 stream() 求和

转载 作者:行者123 更新时间:2023-11-29 04:12:29 27 4
gpt4 key购买 nike

我正在尝试对同一个团队的所有分数求和并返回一个字符串列表(团队:totalPoints)

public class Player {
String name;
int team;
int points;
}

List <Player> player= new ArrayList<>();
player.add(new Player("Michael",1,10));
player.add(new Player("Mike",2,15));
player.add(new Player("Tom",1,7));
player.add(new Player("Marty",2,9));

我想收到 List<String >,其中:"1 : 17" , "2 : 24"

最佳答案

您可以将 Collectors.groupingBy 与下游 Collectors.summingInt 一起使用:

List<String> result = player.stream()
.collect(Collectors.groupingBy(Player::getTeam,
Collectors.summingInt(Player::getPoints)))
.entrySet().stream()
.map(e -> e.getKey() + " : " + e.getValue())
.collect(Collectors.toList());

关于java - 如何通过某种类型的变量使用 stream() 求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54245392/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com