ensure Capacity
Требования к платформе и версии: Общая (1.0)
expect fun ensureCapacity(minCapacity: Int)
Гарантирует, что вместимость этого списка будет не меньше указанного значения minCapacity.
Если текущая вместимость меньше minCapacity, выделяется новое хранилище с большей вместимостью. В противном случае этот метод ничего не делает и просто возвращает управление.
Эту операцию можно использовать, чтобы свести к минимуму количество последовательных перераспределений памяти, если итоговый размер списка известен заранее, и повысить производительность при добавлении множества элементов.
На целевой платформе JS этот метод не оказывает эффекта из-за внутренней реализации JS.
Параметры
желаемая минимальная вместимость.
Примеры
import kotlin.math.*
import kotlin.test.*
fun main() {
//sampleStart
// Suppose we have an existing list with unknown current capacity
val list = arrayListOf(1, 2, 3, 4, 5)
// When we know in advance that we'll add many elements,
// we can pre-allocate capacity to avoid multiple reallocations
val elementsToAdd = 1000
list.ensureCapacity(list.size + elementsToAdd)
// Now adding elements won't trigger internal array resizing
// until we exceed the ensured capacity
for (i in 1..elementsToAdd) {
list.add(i)
}
println(list.size) // 1005
println(list.first()) // 1
println(list.last()) // 1000
//sampleEnd
}
Требования к платформе и версии: JS (1.1)
actual fun ensureCapacity(minCapacity: Int)
Ничего не делает в этой реализации ArrayList.
Требования к платформе и версии: Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
actual fun ensureCapacity(minCapacity: Int)
Гарантирует, что вместимость этого списка будет не меньше указанного значения minCapacity.
Если текущая вместимость меньше minCapacity, выделяется новое хранилище с большей вместимостью. В противном случае этот метод ничего не делает и просто возвращает управление.
Эту операцию можно использовать, чтобы свести к минимуму количество последовательных перераспределений памяти, если итоговый размер списка известен заранее, и повысить производительность при добавлении множества элементов.
Параметры
желаемая минимальная вместимость.
Примеры
import kotlin.math.*
import kotlin.test.*
fun main() {
//sampleStart
// Suppose we have an existing list with unknown current capacity
val list = arrayListOf(1, 2, 3, 4, 5)
// When we know in advance that we'll add many elements,
// we can pre-allocate capacity to avoid multiple reallocations
val elementsToAdd = 1000
list.ensureCapacity(list.size + elementsToAdd)
// Now adding elements won't trigger internal array resizing
// until we exceed the ensured capacity
for (i in 1..elementsToAdd) {
list.add(i)
}
println(list.size) // 1005
println(list.first()) // 1
println(list.last()) // 1000
//sampleEnd
}
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-array-list/ensure-capacity.html