我有一些Java代码,我想用Java 8的流链接在一起。这是当前状态下的代码:
public class FooOperations {
public List<FooB> getFooB() {
List<FooA> fooAs = fooAOperation.getFooA();
List<FooB> fooBs = fooBOperation.getFooB(fooAs);
return fooBs;
}
}
public class FooAOperation {
public List<FooA> getFooA() {
return foos.parallelStream().map(build()).filter(Objects::nonNull).collect(Collectors.toList());
}
}
public class FooBOperation {
public List<FooB> getFooB(List<FooA> fooAs) {
return fooAs.parallelStream()
.map(fooA -> generateFooB(fooA))
.collect(Collectors.toList());
}
}
但我想将这些操作链接到FooOperations
类中的一行。像这样:
return fooAOperation.getFooA().map(fooA -> FooBOperation::getFooB(fooA)).collect(Collectors.toList());
这需要FooAOperation
类返回流而不是列表。
我的目标是将这两个进程链接在一起,以便FooBOperation
在开始处理之前不必等待填充FooA
个完整的DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd_HHmmss");
个对象列表;我想这样做,以便它们可以在它们准备好后立即开始单独处理。有点像消息队列。
最好的方法是什么?