Scala中如何过滤Map,移除不含Some关键词的键?
Scala 过滤Map中键包含指定关键词的条目
你可以用filterKeys方法实现需求,问题大概率是之前的判断条件写反了。直接用以下代码即可保留键中包含Some的条目:
val filteredMap = map.filterKeys(_.contains("Some"))
说明:
filterKeys接收一个判断函数,参数是Map的键(这里是String类型),返回Boolean值。_.contains("Some")会检查键的字符串内容里是否包含Some子串,符合条件的键值对会被保留,不符合的直接移除。
如果习惯用filter方法,也可以写成:
val filteredMap = map.filter { case (k, _) => k.contains("Some") }
对比你的示例输入,最后一条键的字符串是List(DoubleMetric(Dataset,Size,*,Success(3.0),None)),不含Some,会被上述代码过滤掉,正好得到你想要的预期结果。
内容的提问来源于stack exchange,提问作者Arvinth kumar
相关产品推荐
相关产品推荐

