You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Scala的Seq[Map[String,String]]中过滤空Map元素

解决方案

你可以直接利用Scala集合自带的判空方法和过滤方法实现,代码非常简洁:

核心代码

// 原始数据
val originalSeq: Seq[Map[String, String]] = Seq(Map("Name"-> "Laura", "City" -> "Paris"), Map("Country" -> "Italy"), Map())

// 写法1:使用filter过滤保留非空Map
val result1 = originalSeq.filter(_.nonEmpty)

// 写法2:使用filterNot移除空Map,两种写法效果完全一致
val result2 = originalSeq.filterNot(_.isEmpty)

说明

  • Scala 中Map类型自带isEmpty、nonEmpty两个原生方法,可直接判断当前Map是否为空
  • Seq的filter方法会保留所有满足判断条件的元素,filterNot则会移除满足判断条件的元素,两种写法都可以得到你需要的结果:
    // 输出结果:Seq(Map(Name -> Laura, City -> Paris), Map(Country -> Italy))
    println(result1)
    

内容的提问来源于stack exchange,提问作者Didi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 07:42:01