Scala根据最大值过滤列表

夏天的夜晚

我有以下地图:

[
  { "animal": "dog", "age": 1},
  { "animal": "dog", "age": 2},
  { "animal": "dog", "age": 3},
  { "animal": "cat", "age": 1},
  { "animal": "cat", "age": 4},
  { "animal": "rabbit", "age": 9}
]

如何返回结果,以便使狗,猫和兔子的年龄都达到最大。例子:

[
    { "animal": "dog", "age": 3},    # oldest dog in DB
    { "animal": "cat", "age": 4},    # oldest cat in DB
    { "animal": "rabbit", "age": 9}  # oldest rabbit in DB

]

我正在尝试使用两个scala .map()聚合来实现此操作,但到目前为止没有成功。

Alvaro Carrasco占位符图像

假设一个像这样的案例类case class Pet(animal: String, age: Int)

list.groupBy(_.animal).values.map(_.maxBy(_.age)).toList

对于List[BSONDocument],相同的概念:

list.groupBy(_.getAs[String]("animal")).values.map(_.maxBy(_.getAs[Int]("age"))).toList

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Scala中列表的局部最大值

来自分类Dev

根据列中的最大值过滤数据框-熊猫

来自分类Dev

SQL查询以基于最大值获取过滤列表

来自分类Dev

使用流过滤基于条件的最大值列表

来自分类Dev

在Scala中递归查找列表中的最大值

来自分类Dev

在Scala中递归查找列表中的最大值

来自分类Dev

Mathematica列表的最大值

来自分类Dev

Mathematica列表的最大值

来自分类Dev

列表最大值的索引

来自分类Dev

根据对象字段的分组对列表进行排序,根据组中的最大值进行排序

来自分类Dev

Scala:根据条件计算最小值、最大值、平均值

来自分类Dev

根据一列中的最大值过滤pandas Dataframe

来自分类Dev

SQL:使用最大值过滤行

来自分类Dev

过滤给定ID的最大值的行

来自分类Dev

如何过滤最大值并写入行?

来自分类Dev

过滤给定ID的最大值的行

来自分类Dev

按最大值过滤数据

来自分类Dev

仅合计过滤的最大值

来自分类Dev

获取包含最大值列表的列表

来自分类Dev

根据列最大值获取记录

来自分类Dev

根据最大值创建表

来自分类Dev

根据列中的匹配值以及匹配的那些值的最小/最大值时间戳记过滤数据框

来自分类Dev

根据对象属性的最大值合并对象列表的最有效方法

来自分类Dev

根据对象属性的最大值合并对象列表的最有效方法

来自分类Dev

根据其他列在python pandas数据框中创建子列表的最大值

来自分类Dev

Spark Scala DataFrame查找最大值

来自分类Dev

从案例类节点列表中获取最大值,返回 Scala Option[List]

来自分类Dev

查找列表的最大值(Python)

来自分类Dev

记录列表中的最大值