Java的Stream API中是否有一种方法可以不同于其他方式映射流的第一个元素?
相当于这段代码:
List<Bar> barList = new ArrayList<>();
for (int i=0; i<fooList.size(); i++) {
Foo foo = fooList.get(i);
Foo modifiedFoo = foo.getModifiedFoo();
if (i == 0) {
barList.add(new Bar(modifiedFoo, false));
}else {
barList.add(new Bar(modifiedFoo, true));
}
}
Stream<Bar> = barList.stream();
Run Code Online (Sandbox Code Playgroud)
注意:我已经有了一个流设置,我希望在第一次映射后进行一些操作
fooList.stream()
.map(Foo::getModifiedFoo)
.(May be Some operation here to get different new Bar for first modifiedFoo)
.map(modifiedFoo -> new Bar(modifiedFoo, true));
Run Code Online (Sandbox Code Playgroud)