Обновленный ответ
На самом деле меня смущали емкость и размер. Не существует реализации использования MutableList по умолчанию в Kotlin stdlib.
Вы можете создать его самостоятельно.
fun <T> mutableListWithCapacity(capacity: Int): MutableList<T> =
ArrayList(capacity)
// creates a MutableList of Int with capacity of 5.
val mutableList = mutableListWithCapacity<Int>(5)
Устаревший ответ
Одна из причин почему mutableListOf не позволяет использовать емкость по умолчанию, потому что значения по умолчанию в kotlin не равны нулю.
Однако есть служебная функция определена в kotlin.collections
пакете .
public inline fun <T> MutableList(size: Int, init: (index: Int) -> T): MutableList<T> {
val list = ArrayList<T>(size)
repeat(size) { index -> list.add(init(index)) }
return list
}
Вы можете создать список с помощью функции List или MutableList с емкостью по умолчанию и ее отображением.
// creates a list of ints with default capacity of 10 and having nulls.
// But I highly doubt you should initialize it with a null since Kotlin is a null-safe language.
val list = MutableList<Int?>(10) { null }
Но поскольку в Kotlin не должно быть нулей, если предполагается использование ненулевого списка, иначе вы должны выполнить нулевую проверку с помощью операторов типа ?.
!!.
.