Я немного играю с Kotlin, и я не понимаю этого, поэтому, может быть, кто-то может мне это объяснить.
У меня есть класс данных:
data class Person (var name : String, var age : Int)
И я хочу создать Список, который содержит Человека с умноженным возрастом, умноженным на 2, только на четные предметы.Поэтому я создал новый список и создал из него mutableList, потому что я хочу изменить их возраст.Я сделал это следующим образом:
val personA = Person("john", 25)
val personB = Person("Ane", 10)
val personC = Person("will", 20)
val personList = listOf(personA, personB, personC)
var mutablePersons = mutableListOf<Person>()
mutablePersons.addAll(personList)
И теперь я пытаюсь создать новый список с измененными элементами из mutablePersons .Итак, я уже сделал следующее:
val mutablePersonsAgeChanged = mutablePersons.mapIndexed { index, person ->
if (index.rem(2) == 0) {
person.age = person.age * 2
}
}
И ... что-то у меня не получается, потому что mutablePersonAgeChanged равно List<Any>
и я хочу List<Person>
.
Итак, мой вопрос.Что я делаю не так?Как сделать эту карту индексированной Возвращает List<Person>