gpt4 book ai didi

java - 如何在 Java 8 流上运行嵌套收集

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:48:08 25 4
gpt4 key购买 nike

我有一个对象列表 A,A 有一个名为 Address 的属性,它有一个街道名称 -- streetName

我想从对象列表 A 中获取所有街道名称的列表。一级集合似乎从流中非常可行,但我如何使用一行代码获取嵌套字符串。

因此,为了从对象 A 获取地址列表,我可以这样做:

listOfObjectsA.stream().map(a::getAddress).collect(Collectors.toList());

我的最终目标是获取街道名称列表,因此我无法使用 lambda 算出二级集合。

我找不到我正在寻找的准确示例。有人可以帮我解决这个问题吗?

最佳答案

您可以简单地链接另一个 map 操作来获取街道名称:

listOfObjectsA
.stream()
.map(a::getAddress)
.map(a -> a.getStreetName()) // or a::getStreetName
.collect(Collectors.toList());

第一个 map 将您的对象转换为 Address 对象,下一个 map 获取那些 Address 对象并进行转换它们变成街道名称,然后由收集器收集。

流操作形成一个管道,因此在终端操作(在本例中为 collect 操作)之前,您可以根据需要进行任意数量的操作。

关于java - 如何在 Java 8 流上运行嵌套收集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40075305/

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