gpt4 book ai didi

java - 如何将具有列表属性的对象列表转换为一个包含所有列表属性项的列表

转载 作者:搜寻专家 更新时间:2023-11-01 04:04:37 27 4
gpt4 key购买 nike

我有一个像这样的对象:

class House {

String name;

List<Door> doors;

}

我想做的是转换一个 List<House>List<Door>包含所有 doors所有houses .

有机会用 Guava 做这个吗?

我尝试使用 Guava 使用 Lists.transform 函数,但我只得到 List<List<Door>>结果。

最佳答案

如果您确实需要使用函数式方法,可以使用 FluentIterable#transformAndConcat 来实现:

public static ImmutableList<Door> foo(List<House> houses) {
return FluentIterable
.from(houses)
.transformAndConcat(GetDoorsFunction.INSTANCE)
.toImmutableList();
}

private enum GetDoorsFunction implements Function<House, List<Door>> {
INSTANCE;

@Override
public List<Door> apply(House input) {
return input.getDoors();
}
}

关于java - 如何将具有列表属性的对象列表转换为一个包含所有列表属性项的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13936858/

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