当前位置: 首页 > 知识库问答 >
问题:

使用Java流在数组中创建所有列表的列表[duplicate]

姬宝
2023-03-14

我有一个节点数组,它们都有一个变量的列表:

Node[] arguments; // argument[i].vars() returns List<Variable>

我想创建一个包含所有变量的列表。我今天是这样做的:

List<Variable> allVars = new ArrayList<>();
for (Node arg : arguments) {
    allVars.addAll(arg.vars());
}

我尝试过此操作,但它返回给我一个列表 ,而我想要一个列表 ,其中附加了列表的所有元素(使用AddAll):

List<List<Variable>> vars = Arrays.asList(arguments).stream()
                                  .map(Node::vars)
                                  .collect(Collectors.toList());

共有1个答案

徐瑞
2023-03-14

在调用collection之前,使用flatmap转换为:

List<Variable> vars = Arrays.asList(arguments).stream()
                            .map(Node::vars)
                            .flatMap(List::stream)
                            .collect(Collectors.toList());
 类似资料:
  • 问题内容: 有一个对象列表。 使用它创建一个unmodifiableList。 我了解不支持添加/删除/设置操作。同时,它不是不变的,因为它引用了现有的可修改列表,并且每当对该列表进行更改时,这些更改也会反映出来。 这样就创建了一个不可变的列表。 由于使用了转换构造函数,因此创建了一个不可变的列表。无法执行添加/删除/设置操作,原始列表中的任何更改都不会反映在中。让我们假设对象也是不可变的。 现在

  • 问题内容: 我想要创建一个arraylist数组,如下所示: 但是它没有编译。我怎样才能做到这一点? 问题答案: 根据Oracle文档: “你不能创建参数化类型的数组” 相反,你可以执行以下操作: 正如汤姆·霍廷(Tom Hawting)的建议-定位线一样,最好这样做:

  • 对于C#中泛型列表的泛型列表的概念,我似乎有点难以理解。我认为问题源于

  • 我不熟悉java和springboot。我正在尝试使用springboot创建一个CRUD应用程序。我使用MySQL存储数据。 员工模式- 员工资源库- 员工控制员- 上面的控制器在JSON对象数组表单中给出了结果,如下所示 但我需要以下表格的回复 非常感谢你的帮助。

  • 我不是本地JAVA程序员。我正在为web服务API创建一个客户端。API基本上需要一个数组参数。 我正在解析一个XML文件,创建记录,然后使用此API进行批量插入。 问题是这个API一次只能插入200条记录,这意味着我的数组在调用时只能有200条或更少的记录。 由于我不知道预先有多少条记录,所以我将我的记录存储在ArrayList中,然后使用将其转换为Array。ToArray() 现在,由于AP

  • 我是Java和Stack Overflow的新手,我有一个关于排列的问题。 方法:我使用中的对象生成。每个的大小从(可能最小为1)到,并包含具有唯一名称属性的自定义生成对象。 问题:现在我的问题是如何在我的外部(y轴)中获得从第一个到最后一个的所有可能对象组合的排列(我想我们可以说这是x轴)? 我试着举一个简单的例子: : 1.1|1.2|1.3 : 2.1 : 3.1|3.2 这里,这些位于外部