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

使用stream java对列表进行分组[重复]

孙明德
2023-03-14

我有如下列表:

列表

[{
type: "1"
price: 10.0
count: 2
},
type: "1"
price: 15.0
count: 3
},
type: "2"
price: 20.0
count: 2
},
type: "2"
price: 30.0
count: 3
}]
[{
type: "1"
price: 25.0
count: 5
},
type: "2"
price: 50.0
count: 5
}]
report.stream().collect(Collectors.groupingBy(x -> x.getStuffe));

但是,这给了一张地图。我不需要地图,我需要名单。

我怎么能这么做?

共有1个答案

阙辰龙
2023-03-14

试着做一些类似的事情:

if (<types of list are equal>) {
    //add other attributes together
}
 类似资料:
  • 问题内容: 我想知道,流(或收集器)中是否已经有一个已实现的功能,已将列表作为值进行了排序。例如,以下代码均产生按年龄分组的按性别分组的人员清单。第一个解决方案具有一些开销排序(看起来有些sc琐)。第二种解决方案需要对每个人进行两次检查,但是必须做到很好。 首先排序,然后分组为一个流: 首先分组,然后对每个值进行排序: 我只是想知道,是否已经实现了某项功能,该功能可以一次运行,例如。 问题答案:

  • 我想知道,流(或收集器)中是否已经实现了将列表排序为值的功能。例如,以下代码均生成按年龄排序的按性别分组的人员列表。第一个解决方案有一些开销排序(看起来有点邋遢)。第二种解决方案需要对每个人进行两次检查,但工作做得很好。 首先排序,然后在一个流中分组: 首先分组,然后对每个值进行排序: 我只是想知道,是否已经实现了一些东西,可以在一次运行中完成,比如。

  • 我有一个过程对象列表,如下所示 我的程序课就像 我想基于以下条件对对象进行排序和分组。 应根据过程名称对所有过程进行分组。 过程必须按过程日期降序排列。[日期列表中的第一个元素,即 分组在一起的相同过程应按日期降序排列。 最终结果必须是, 我能够使用比较器和旧的Java代码实现这一点。是否可以使用java8流、收集器和分组来实现相同的功能?

  • 我有一个来自以下用户的消息列表: 我想从这个消息对象列表中计数并显示。有代码帮助吗?

  • 我想按多个列对熊猫数据框进行分组。每个Row都有一个整数、一个Name和一个额外的数值。我希望最终的Dataframe包含Name具有最高整数的每一行。 通过分组数据帧,只有第0行应该消失。第3行和第4行仍应包括在数据框中。

  • 我有以下课程 我正在尝试按贡献者名称和角色名称对ResourceContributor列表进行排序。到目前为止,我得到的是: 我已经尝试使用then比较,但还不知道如何使用它。