gpt4 book ai didi

Java 8流和列表分组

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:32:36 26 4
gpt4 key购买 nike

我有一个订单列表,我想使用 Java 8 streamCollectors.groupingBy 按用户对它们进行分组:

orderList.stream().collect(Collectors.groupingBy(order -> order.getUser())

这将返回一个包含用户和订单列表的映射:

Map<User, List<Order>>

我不需要整个对象 User 只需要它的 username 字段,它是一个 String,所以我想得到这样的东西:

Map<String, List<Order>>

我尝试使用 Stream.map 将用户映射到用户名字段,但无法正确完成。我怎样才能尽可能简单地做到这一点?

最佳答案

您可以只使用 groupingBy 收集器和 username 而不是整个 User 对象:

orderList.stream().collect(Collectors.groupingBy(order -> order.getUser().getUsername())

关于Java 8流和列表分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37815569/

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