Функция ensureCapacity
Функция ensureCapacity гарантирует, что емкость
StringBuilder будет не меньше указанного минимального значения.
Если текущая емкость меньше переданного значения, то она увеличивается.
Это полезно для оптимизации производительности при добавлении большого
количества символов, чтобы избежать многократных перераспределений памяти.
Синтаксис
kotlinfun ensureCapacity(minimumCapacity: Int): Unit
Пример
Гарантируем емкость не менее 100 символов:
kotlinval sb = StringBuilder()
println("Initial capacity: " + sb.capacity())
sb.ensureCapacity(100)
println("Capacity after ensureCapacity: " + sb.capacity())
Результат выполнения кода:
kotlinInitial capacity: 16
Capacity after ensureCapacity: 100
Пример
Если текущая емкость уже больше запрашиваемой, то функция ничего не делает:
kotlinval sb = StringBuilder(200)
println("Initial capacity: " + sb.capacity())
sb.ensureCapacity(100)
println("Capacity after ensureCapacity: " + sb.capacity())
Результат выполнения кода:
kotlinInitial capacity: 200
Capacity after ensureCapacity: 200
Пример
Использование ensureCapacity для оптимизации
многократного добавления символов:
kotlinval sb = StringBuilder()
sb.ensureCapacity(1000)
for (i in 0 until 1000) {
sb.append('a')
}
println("Final length: " + sb.length)
println("Final capacity: " + sb.capacity())
Результат выполнения кода:
kotlinFinal length: 1000
Final capacity: 1000
Смотрите также
-
функцию
capacity,
которая возвращает текущую емкость StringBuilder -
функцию
trimToSize,
которая уменьшает емкость до текущей длины -
функцию
length,
которая возвращает текущую длину строки -
функцию
append,
которая добавляет содержимое в StringBuilder