Предполагая, что massiveInterfaceService.getPendingDocuments()
возвращает FileObject[]
, вы можете создать метод, подобный этому:
Stream<Pair<Application, FileObject>> flatten(Pair<Application, FileObject[]> pair) {
return Arrays.stream(pair.getRight())
.map(fileObject -> new Pair.of(pair.getLeft(), fileObject));
}
Затем используйте его в своем потоке:
Stream<Pair<Application, FileObject>> stream =
applications.stream()
.map(app ->
Pair.of(app, this.massiveInterfaceService.getPendingDocuments(app)))
.flatMap(this::flatten);
Если на другомрука massiveInterfaceService.getPendingDocuments()
возвращает Stream<FileObject>
Stream<Pair<Application, FileObject>> stream =
applications.stream()
.flatMap(app ->
this.massiveInterfaceService
.getPendingDocuments(app)))
.map(fileObject -> Pair.of(app, fileObject)));
Из вашего вопроса не ясно, какой является правильным.