Свойство capacity
Свойство capacity возвращает текущую вместимость
(емкость) внутреннего буфера StringBuilder.
Вместимость представляет собой количество символов,
которые можно сохранить в буфере без выделения
дополнительной памяти. Значение всегда больше или равно
длине строки (length).
Синтаксис
val capacity: Int
Пример
Создадим StringBuilder и проверим
его начальную вместимость:
val sb = StringBuilder()
val cap = sb.capacity
println(cap)
Результат выполнения кода:
Int 16
Пример
Добавим текст в StringBuilder и
проверим как изменилась вместимость:
val sb = StringBuilder()
sb.append("abcde")
val len = sb.length
val cap = sb.capacity
println("Length: $len, Capacity: $cap")
Результат выполнения кода:
Length: 5, Capacity: 16
Пример
Добавим больше текста, чтобы превысить начальную вместимость и вызвать увеличение буфера:
val sb = StringBuilder()
sb.append("abcdefghijklmnopqrstuvwxyz")
val len = sb.length
val cap = sb.capacity
println("Length: $len, Capacity: $cap")
Результат выполнения кода:
Length: 26, Capacity: 34
Пример
Используем метод ensureCapacity для
предварительного выделения памяти и проверим
изменение вместимости:
val sb = StringBuilder()
println("Initial capacity: ${sb.capacity}")
sb.ensureCapacity(100)
println("After ensureCapacity(100): ${sb.capacity}")
Результат выполнения кода:
Initial capacity: 16
After ensureCapacity(100): 100
Пример
Используем метод trimToSize для
оптимизации использования памяти:
val sb = StringBuilder()
sb.append("abcde")
println("Before trimToSize:")
println("Length: ${sb.length}, Capacity: ${sb.capacity}")
sb.trimToSize()
println("After trimToSize:")
println("Length: ${sb.length}, Capacity: ${sb.capacity}")
Результат выполнения кода:
Before trimToSize:
Length: 5, Capacity: 16
After trimToSize:
Length: 5, Capacity: 5
Смотрите также
-
свойство
length,
которое возвращает длину строки в StringBuilder -
метод
ensureCapacity,
который гарантирует минимальную вместимость буфера -
метод
trimToSize,
который уменьшает вместимость до фактической длины -
конструктор
StringBuilder,
который позволяет задать начальную вместимость