Scala嵌套Map过滤器

5us2dqdw  于 2023-04-06  发布在  Scala
关注(0)|答案(1)|浏览(160)

我有一个嵌套的map,它包含map以及List和None值的组合,如下所示

Map(
  test -> 113123, 
  "cat" -> None,
  crm -> List(age, gender, code), 
  myList -> Map(
    test2 -> 321323, 
    test3 -> 11122,
  )
)

但我想从上面嵌套的Map中过滤掉非Map值
预期产出:

Map(
  myList -> Map(
    test2 -> 321323,
    test3 -> 11122,
  )
)
lawou6xi

lawou6xi1#

collect是你的朋友,当你想做一些涉及过滤一个集合的方式,涉及限制到某种类型:

val map : Map[Any, Any] = Map(...)

map.collect {
  case (key, map: Map[_, _]) => (key, map)
}.toMap

相关问题