我有一个类型为布尔值的二维数组(不重要)。 以非函数式的方式迭代该数组很容易。 如何以函数式风格实现呢?
var matrix = Array.ofDim[Boolean](5, 5)
例如,我想迭代给定列的所有行,并返回与特定函数匹配的整数列表。 示例:对于第3列,迭代行1到5以返回4、5,如果单元格(4,3)、(5,3)与特定函数匹配。非常感谢。
def getChildren(nodeId: Int) : List[Int] = {
info("getChildren("+nodeId+")")
var list = List[Int]()
val nodeIndex = id2indexMap(nodeId)
for (rowIndex <- 0 until matrix.size) {
val elem = matrix(rowIndex)(nodeIndex)
if (elem) {
println("Row Index = " + rowIndex)
list = rowIndex :: list
}
}
list
}