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