gpt4 book ai didi

java - 如何使用 lambdaj 组合列表列表?

转载 作者:行者123 更新时间:2023-12-02 23:05:20 27 4
gpt4 key购买 nike

我希望能够使用 lambdaj 将子列表组合成单个列表。

我有一个有效的迭代版本:

// HDU elements are children of each subsystem
Collection<SpaceSystemType> subsystems = this.getAllSubsystems();
Set<SpaceSystemType> sources = new HashSet<SpaceSystemType>();

// Iterate the subsystems, collecting all the sources
for (SpaceSystemType subsystem : subsystems)
sources.addAll(subsystem.getSpaceSystem()); // getSpaceSystem returns a List<SpaceSystemType>

return sources;

我希望能够做到这一点:

extract(subsystems, on(SpaceSystemType.class).getSpaceSystem());

但是提取返回一个

List<List<SpaceSystemType>> 

所以我一定使用了错误的命令。

哪个 lambdaj 命令可以实现我想要的效果?

最佳答案

我使用展平解决了这个问题:

List<SpaceSystemType> sources = flatten(extract(subsystems, on(SpaceSystemType.class).getSpaceSystem()));

SpaceSystemType 是 JAXB 生成的类,表示元素的子树。由于 SpaceSystemType.getSpaceSystem() 返回一个 List,因此有必要指示 lambdaj 从树中获取所有叶子。

关于java - 如何使用 lambdaj 组合列表列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5541163/

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