如何删除列表变量中的空值?

Rjj*_*Rjj 1 null scala list

我有以下列表输入:

List(List(first, sec, null, null), List(third, null, null))
Run Code Online (Sandbox Code Playgroud)

我需要从我的列表中删除nulls,以获得:

List(List(first, sec), List(third))
Run Code Online (Sandbox Code Playgroud)

Ram*_*jan 5

如果您将List 嵌套

val data = List(List("first", "sec", null, null), List("third", null, null))
Run Code Online (Sandbox Code Playgroud)

然后使用mapfilterNot作为

data.map(_.filterNot(_ == null))
//res0: List[List[String]] = List(List(first, sec), List(third))
Run Code Online (Sandbox Code Playgroud)

或者你可以使用mapfilter作为

data.map(_.filter(_ != null))
//res0: List[List[String]] = List(List(first, sec), List(third))
Run Code Online (Sandbox Code Playgroud)

我希望答案有帮助


Xav*_*hot 5

鉴于此列表:

val list = List(List("first", "sec", null, null), List("third", null, null))
Run Code Online (Sandbox Code Playgroud)

而事实Option(null)给出None,则:

list.map(_.flatMap(Option(_)))
Run Code Online (Sandbox Code Playgroud)

产生:

List(List("first", "sec"), List("third"))
Run Code Online (Sandbox Code Playgroud)