首页 > 解决方案 > 如何在 Scala 中过滤地图列表

问题描述

我的地图列表如下

val myMap=  List(
    Map("name" -> "1st" , "status" -> "0"),
    Map("name" -> "2nd" , "status" -> "1"),
    Map("name" -> "3rd" , "status" -> "1")
  )

我正在尝试filter基于list并仅"status" = "1"获得另一个List of Mapsname

所以输出应该是

Map("name" -> "2nd"),
Map("name" -> "3rd")

我是 scala 的初学者,明白我需要申请map,filter. 但不知道如何在这里进行。

标签: scala

解决方案


如果你两者都做filtermap最好的解决方案是经常使用collect

myMap.collect{ case m if m.get("status").contains("1") => m - "status" }

推荐阅读