使用Java流创建数组中所有列表的列表

使用Java流创建数组中所有列表的列表,java,arraylist,collections,java-stream,Java,Arraylist,Collections,Java Stream,我有一个节点数组,所有节点都有一个变量列表: Node[] arguments; // argument[i].vars() returns List<Variable> 在调用collect之前,用于将流转换为流: List<Variable> vars = Arrays.asList(arguments).stream() .map(Node::vars)

我有一个
节点数组
,所有节点都有一个
变量列表

Node[] arguments; // argument[i].vars() returns List<Variable>
在调用
collect
之前,用于将
转换为

List<Variable> vars = Arrays.asList(arguments).stream()
                            .map(Node::vars)
                            .flatMap(List::stream)
                            .collect(Collectors.toList());
List vars=Arrays.asList(arguments).stream()
.map(节点::vars)
.flatMap(列表::流)
.collect(Collectors.toList());

您还可以使用
Stream.of(arguments)
而不是
Arrays.asList(arguments.Stream()
List<List<Variable>> vars = Arrays.asList(arguments).stream()
                                  .map(Node::vars)
                                  .collect(Collectors.toList());
List<Variable> vars = Arrays.asList(arguments).stream()
                            .map(Node::vars)
                            .flatMap(List::stream)
                            .collect(Collectors.toList());