kotlin. MutableMap
Есть коллекция и необходимо пробежаться по ней следующим образом:
val l=mapOf(-1.0 to 1.0, 10.0 to 0.0 , 1.0 to 1.0)
l.keys.forEach{ println(it-1 )}
под println(it-1 ) подразумеваю предыдущий ключ. Две проблемы:1)Как сделать, чтобы действительно возвращал предыдущий ключ, а не значение ключа-1 2)Если первая проблема будет решена, то что будет возвращено года it будет обозначать самый первый ключ коллекции?
Ответы (1 шт):
Автор решения: zed
→ Ссылка
fun main() {
val map = mapOf(-1.0 to 1.0, 10.0 to 0.0 , 1.0 to 1.0)
var x: Double? = null // тут будет храниться предыдущее значение
for ((key, _) in map) {
if (x != null) {
// если предыдущее значение есть, используем его
println("$x")
} else {
// предыдущего значения ещё нету, т.к. это первая
// итерация цикла
println("null")
}
// запомним текущий ключ, для вывода его на следующем
// шаге цикла
x = key
}
}
Вывод:
null
-1.0
10.0