【发布时间】:2018-03-23 18:13:40
【问题描述】:
在 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();
注意:我已经有一个流设置,我希望在第一次映射后进行一些操作
fooList.stream()
.map(Foo::getModifiedFoo)
.(May be Some operation here to get different new Bar for first modifiedFoo)
.map(modifiedFoo -> new Bar(modifiedFoo, true));
【问题讨论】:
标签: java-8 java-stream