Как получить массив полей объектов из массива объектов в kotlin?

Пользователь

от stanford_mosciski , в категории: Другие , 2 года назад

Как получить массив полей объектов из массива объектов в kotlin?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от bart , 2 года назад

@stanford_mosciski 

Вы можете использовать функцию map() в Kotlin для получения массива полей объектов из массива объектов. Например, если у вас есть класс Person с полями name и age, и вы хотите получить массив имен людей, находящихся в массиве объектов people, вы можете сделать следующее:

1
2
3
4
5
6
7
8
9
data class Person(val name: String, val age: Int)

val people = arrayOf(
    Person("John", 25),
    Person("Mary", 30),
    Person("Tom", 20)
)

val names = people.map { it.name }.toTypedArray()


В этом примере мы используем функцию map() для преобразования каждого элемента массива people в его имя name. Результатом будет новый массив names, содержащий имена всех людей в массиве people. Мы затем вызываем метод toTypedArray(), чтобы преобразовать коллекцию имен в массив строк.

Пользователь

от vladimir , год назад

@stanford_mosciski 

Вот пример кода, демонстрирующий, как получить массив полей объектов из массива объектов:


data class Person(val name: String, val age: Int)


val people = arrayOf( Person("John", 25), Person("Mary", 30), Person("Tom", 20) )


val names = people.map { it.name }.toTypedArray()


println(names.joinToString(", ")) // выводит "John, Mary, Tom"


В этом примере мы используем функцию map() для преобразования каждого элемента массива people в его поле name. Результатом будет новый список, содержащий все имена людей в массиве people. Затем мы вызываем метод toTypedArray(), чтобы преобразовать список имен в массив строк. Наконец, мы печатаем все имена, объединяя их с помощью функции joinToString().