我有以下结构:
val s1 = Seq(1,2,3,4,5)
val s2 = Seq()
val s3 = Seq(6,7,8,9)
val seq = Seq(s1,s2,s3)
我需要验证seq
中的所有序列是否至少有一个元素。我尝试使用过滤器完成此操作,但无法提出任何想法?
答案 0 :(得分:1)
这将找到至少包含一个元素的所有序列
seq.filterNot(_.isEmpty)
虽然这会检查所有序列是否至少有一个元素
seq.forAll(!_.isEmpty)
或
!seq.exists(_.isEmpty)
答案 1 :(得分:1)
您可以使用以下代码行。
val distinct=seq.filter(_.length>0)
答案 2 :(得分:1)
您可能正在寻找forall
功能:
seq.forall(!_.isEmpty)
转换为:Are all sequences in seq non-empty?
,因此s2
为空,因此您的示例返回false。
答案 3 :(得分:0)
这也应该有用。
seq.filter(_.nonEmpty)