我有一个[Map [String,Int]数组,如下所示:
val orArray = Array(Map("x" -> 24, "y" -> 25, "z" -> 26), null, Map("x" -> 11, "y" -> 22, "z" -> 33), null, Map("x" -> 111, "y" -> 222, "z" -> 333))
我想删除此数组中的null元素,以获得类似:
Array[Map[String,Int]] = (Map("x" -> 24, "y" -> 25, "z" -> 26), Map("x" -> 11, "y" -> 22, "z" -> 33), Map("x" -> 111, "y" -> 222, "z" -> 333))
到目前为止我正在尝试这个
orArray.filterNot(p => p.isEmpty)
但它会生成NullPointerException。我怎么能过滤掉这两个空值?
答案 0 :(得分:1)
您只需将null
值检查为
orArray.filter(map => map != null)
输出:
Map(x -> 24, y -> 25, z -> 26), Map(x -> 11, y -> 22, z -> 33), Map(x -> 111, y -> 222, z -> 333)
希望这有帮助!