KOTLIN_BROADCAST Telegram 1614
Используйте билдеры коллекций из стандартной библиотеки Kotlin

Иногда сталкиваюсь с кодом функций в Kotlin
val list = mutableListOf()
list.add(...)
list.add(..)
// другие добавления в коллекцию
return list.toList()


Вместо такого подхода я использую функцию buildList(MutableList<E>.() -> Unit), которая принимает на вход лямбду для наполнения коллекции
return buildList {
add(...)
add(...)
// другие добавления в коллекцию
}


Помимо этого функция buildList() позволяет задать capacity - ожидаемое количество элементов в списке (если вы конечно можете это понять). Например,
// задаю capacity на основе максимального ожидаемого кол-ва элементов
return buildList(capacity = 2) {
add(...) // Добавление 1 элемента
if (conidition()) add(...) // Возможное добавление 1 элемента
}


Задание capacity позволяет выделять необходимое количество элементов в массиве, где хранятся элементы. Это позволит избежать использование лишней памяти и/или необходимости увеличения массива в процессе наполнения коллекции

Смотрите также функции buildMap() и buildSet()

#kotlin



tgoop.com/kotlin_broadcast/1614
Create:
Last Update:

Используйте билдеры коллекций из стандартной библиотеки Kotlin

Иногда сталкиваюсь с кодом функций в Kotlin

val list = mutableListOf()
list.add(...)
list.add(..)
// другие добавления в коллекцию
return list.toList()


Вместо такого подхода я использую функцию buildList(MutableList<E>.() -> Unit), которая принимает на вход лямбду для наполнения коллекции
return buildList {
add(...)
add(...)
// другие добавления в коллекцию
}


Помимо этого функция buildList() позволяет задать capacity - ожидаемое количество элементов в списке (если вы конечно можете это понять). Например,
// задаю capacity на основе максимального ожидаемого кол-ва элементов
return buildList(capacity = 2) {
add(...) // Добавление 1 элемента
if (conidition()) add(...) // Возможное добавление 1 элемента
}


Задание capacity позволяет выделять необходимое количество элементов в массиве, где хранятся элементы. Это позволит избежать использование лишней памяти и/или необходимости увеличения массива в процессе наполнения коллекции

Смотрите также функции buildMap() и buildSet()

#kotlin

BY Kotlin Multiplatform Broadcast


Share with your friend now:
tgoop.com/kotlin_broadcast/1614

View MORE
Open in Telegram


Telegram News

Date: |

‘Ban’ on Telegram Today, we will address Telegram channels and how to use them for maximum benefit. Telegram channels fall into two types: The public channel had more than 109,000 subscribers, Judge Hui said. Ng had the power to remove or amend the messages in the channel, but he “allowed them to exist.” Telegram is a leading cloud-based instant messages platform. It became popular in recent years for its privacy, speed, voice and video quality, and other unmatched features over its main competitor Whatsapp.
from us


Telegram Kotlin Multiplatform Broadcast
FROM American