我有一个类似的问题。
myList
.stream()
.x->y=f(x)
.x -> h(x) = x'
.x' = y(x')
所以,我有一个列表,我想要流式传输并执行x
并执行f(x)
并将其存储在y
中,然后执行h(x)
并将其存回在x
中,然后使用y
和x'
并再次将其存储在x'
中。
答案 0 :(得分:3)
使用该流很难做到这一点,在我看来,这样做并没有多大意义,使用经典循环会更容易。在这里你可以看到一种流式方式:
myList.stream()
.map(x -> new AbstractMap.SimpleEntry<>(h(x), f(x)))
.map(entry -> g(entry.getKey()/* x' */, entry.getValue()/* y */))
.forEach(x2 -> System.out.println("x': "+x2));
被修改
与经典循环相同的代码:
for (Integer x: myList){
y = f(x);
x = h(x);
x2 = g(x, y);
System.out.println("x': "+x2);
}