假设你的意思是你有一个Array[Array[List[Int]]]
,这听起来就像它会做你所追求的:
scala> def filterRow(arr:Array[List[Int]]):Array[List[Int]] = {
| val found:Option[Int] = arr.collectFirst{case List(x) => x};
| found.map(f =>
| arr.map(l =>
| if (l.size == 1) l else l.filterNot(_ == f)
| )
| ).getOrElse(arr)
| }
filterRow: (arr: Array[List[Int]])Array[List[Int]]
scala> val a = Array(Array(List(1),List(1,2),List(1,2,3)),Array(List(2),List(1,2),List(1,2,3)))
a: Array[Array[List[Int]]] = Array(Array(List(1), List(1, 2), List(1, 2, 3)), Array(List(2), List(1, 2), List(1, 2, 3)))
scala> a.map(filterRow)
res0: Array[Array[List[Int]]] = Array(Array(List(1), List(2), List(2, 3)), Array(List(2), List(1), List(1, 3)))
如果没有,希望它能给你足够的线索来解决它。否则,您可能需要进一步澄清您的问题。