НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
563 of 1310 menu

Свойство 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,
    который позволяет задать начальную вместимость
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить