我正在学习Kotlin,想知道是否有 functional 功能,例如“一行”创建一个n * m数组并将其映射到平面列表。
例如以下将创建20 * 30 = 600 Seat对象的列表。行/列变量以1开头。最好将变量名称“ it”直接替换为名称“ row” /“ col”。
val screen = Array(20, {
val row = it + 1
Array(30, {
val col = it + 1
Seat(row, col)
}
}).flatten()
答案 0 :(得分:1)
val screen = (1..20).flatMap { row -> (1..30).map { col -> Pair(row, col) } }
// screen = [ Pair(1, 1), Pair(1, 2), ... ]