gpt4 book ai didi

java - Collector 根据对象的一个​​属性创建一个List of List

转载 作者:行者123 更新时间:2023-11-29 08:28:48 24 4
gpt4 key购买 nike

我有以下对象:

列出人员

我想创建以下结构

列表>基于姓氏。

我可以使用 groupingBy(p -> p.getFamilyName()) 在 map 中对它们进行分组。但我不想有一张 map ,而是一个列表列表。

您可以使用 map 的 values() 方法分两步完成。但我想知道您是否可以与收集器一起完成。

最佳答案

你可以使用collectingAndThen:

ArrayList<List<Person>> collect = stream.collect(
Collectors.collectingAndThen(Collectors.groupingBy(Person::getFamilyName),
m -> new ArrayList<>(m.values())));

这首先应用 groupingBy,“然后”为每个分组值创建一个 ArrayList

关于java - Collector 根据对象的一个​​属性创建一个List of List,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50037534/

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