Java 8流从元素返回列表

时间:2017-04-21 09:45:32

标签: java java-8

简单地说:

public class Task{
   private String name;
   private List<Task> subtasks;
}

以及Task个对象的列表。如何使用Task将每个subtask的列表作为stream()获取。 我试过这个:

List<Task> subtasks = myTask.stream().map(x -> x.getSubtasks()).collect(Collectors.toList());

但它会返回List<List<Task>>。将数组从map()连接到现有结果的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

    List<Task> subtasks = myTask.stream()
            .flatMap(x -> x.getSubtasks().stream())
            .collect(Collectors.toList());