gpt4 book ai didi

Java 8 集合合并列表

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

我正在尝试使用员工姓名合并集合。

我有一个 MainDTO其中有 List<Employee(name, List<Address(String)>)>

EmployeeString nameList Address AddressString .

MainDTO -> List<Employee> empList;
Employee-> String name, List<String>

我有输入数据:

( ("emp1",[("KY"),"("NY")]),
("em2",[("KY"),"("NY")]),
("emp1",[("MN"),"("FL")]),
("emp1",[("TN"),"("AZ")])
)

输出将是:

( ("emp1",[("KY"),"("NY"),("MN"),"("FL"),("TN"),"("AZ")]),
("em2",[("KY"),"("NY")])
)

使用 java 8 或 java 7 对这些数据进行排序的任何最佳方法。

最佳答案

如果 Java 9 是一个选项,您可以使用 flatMapping :

Map<String, List<String>> addressesByEmployeeName = empList
.stream()
.collect(groupingBy(
Employee::getName, flatMapping(
e -> e.getAddresses().stream(),
toList())));

但我有一种奇怪的感觉,Java 9 不是一个选择。

关于Java 8 集合合并列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35076034/

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