Scala: Remove none elements from map and flatten

前端 未结 4 755
臣服心动
臣服心动 2021-01-01 16:02

I have a map:

Map(\"key1\" -> Some(\"value1\"), \"key2\" -> None, \"key3\" -> Some(\"value3\"))

I want to remove all None

4条回答
  •  无人及你
    2021-01-01 16:35

    My take using pattern matching is:

    Map("key1" -> Some("value1"), "key2" -> None, "key3" -> Some("value3")).collect {
      case (key, Some(value)) => key -> value
    }
    // Map(key1 -> value1, key3 -> value3)
    

    Collect acts like combined map + filter

提交回复
热议问题