java嵌套对象,java – 从嵌套流中收集一组对象

我有一个场景,我有两个for循环,一个嵌套在另一个.在内部循环中,对于每次迭代,我都有创建特定类型的新实例所需的信息.我想将代码从for循环更改为使用流,因此我可以将所有对象收集到ImmutableSet中.但是,我无法制作一个编译和工作的版本.下面的示例程序说明了我最接近的尝试.它编译,但其中一个参数是硬编码的.

如何修复下面的流,以便在分配Bar时,我有变量s和n可用?

class Bar {

private final String s;

private final Integer n;

Bar(String s, Integer n) {

this.s = s;

this.n = n;

}

}

public class Foo {

private static List getList(String s) {

return Lists.newArrayList(s.hashCode());

}

Foo() {

ImmutableSet set = ImmutableSet.of("foo", "bar", "baz")

.stream()

.flatMap(s -> getList(s).stream())

.map(n -> new Bar("", n)) // I need to use s here, not hard-code

.collect(ImmutableSet.toImmutableSet());

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值