我想知道是否有可能将以下代码转换为Java8Stream?
List<Borg> newBorgMembers = new ArrayList<>();
// mankind is a List<Individual>
mankind.forEach(id -> newBorgMembers.add(new Borg(id)));理想结构:
List<Borg> newBorgMembers = mankind.stream().filter().map().collect()这个问题来自一个教程,提示使用的是filter和map。对我来说,困难在于如何添加元素而不启动空的持卡器List<Borg>。
发布于 2017-06-07 03:34:01
这里是您的流的一小部分代码。
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class StreamTest {
public static void main(String[] args) {
// Initialize mankind
List<Individual> mankind = new ArrayList<>();
mankind.add(new Individual("A"));
mankind.add(new Individual("B"));
mankind.add(new Individual("C"));
// The stream
List<Borg> newBorgMembers = mankind.stream().map(individual -> new Borg(individual.id)).collect(Collectors.toList());
newBorgMembers.forEach(borg -> System.out.println(borg.id));
}
}
class Individual {
String id;
public Individual(String id) {
this.id = id;
}
}
class Borg {
String id;
public Borg(String id) {
this.id = id;
}
}发布于 2017-06-07 08:39:42
或者更好一点:
mankind.stream()
.map(Individual::getId)
.map(Borg::new)
.collect(Collectors.toList());https://stackoverflow.com/questions/44402829
复制相似问题