如何在这个案例中使用“for”

我需要这个function来查看某个文件的某一天,然后在同一天说每个航class有多少人。 到目前为止,我已经设法说出了每天有多少人,但是我很难说每天每次飞行有多少人。

fun interval(reserves: ArrayList, dayInferior: Int, daySuperior: Int) { var count = dayInferior var person: Int for (reserve in reserves) { person = 0 for (reserve in reserves) { if (reserve.day == count && reserve.day <= daySuperior) { person++ } } if (count <= daySuperior) { println("${reserve.numFlight} Day $count has $person") } count++ } } class Reserves { var numCc: Int? var name: String var numFlight: String var day: Int constructor(numCc: Int?, name: String, numFlight: String, day: Int) { this.numCc = numCc this.name = name this.numFlight = numFlight this.day = day } } fun readFileReserves(fileNameInput: String): ArrayList { val reserves: ArrayList = ArrayList() val lines = File(fileNameInput).readLines() for (line in lines) { val parts = line.split(':') val numCc = parts[0].toIntOrNull() val name = parts[1] val numFlight = parts[2] val day = parts[3].toIntOrNull() if (day == null || numCc == null) { println("Invalid day") } else { val r = Reserves(numCc, name, numFlight, day) reserves.add(r) } } return reserves } 

我认为@Jocas意思是在dayInferiordaySuperior之间获得Reserves interval

 fun interval(reserves: List, dayInferior: Int, daySuperior: Int) { val map = mapReserves(reserves) for(day in dayInferior..daySuperior) { map.forEach { val reservesName = it.key.first val reservesDay = it.key.second val reservesCount = it.value.count() if (reservesDay == day) print("$reservesName has $reservesCount on day passengers $day") } } } fun mapReserves(reserves: List): Map, List> { val map = mutableMapOf, MutableList>() reserves.forEach { val key = it.numFlight to it.day val list = map[key] ?: mutableListOf() list.add(it) map[key] = list } return map } // This is how you write in Kotlin. Your style is Java. class Reserves(var numCc: Int, var name: String, var numFlight: String, var day: Int) // Use abstraction List and MutableList instead of ArrayList fun readFileReserves(fileNameInput: String): List { val reserves = mutableListOf() val lines = File(fileNameInput).readLines() for (line in lines) { val parts = line.split(":") val numCc = parts[0].toIntOrNull() val name = parts[1] val numFlight = parts[2] val day = parts[3].toIntOrNull() if (day == null || numCc == null) { println("Invalid day") } else { val r = Reserves(numCc, name, numFlight, day) reserves.add(r) } } return reserves }