Встречается на собеседованиях • сегодня

Как работет StringBuilder под капотом

StringBuilder — это изменяемая последовательность символов, работающая поверх массива char[]. При создании выделяется начальный буфер (по умолчанию 16 символов). При добавлении данных проверяется, хватает ли места. Если нет — массив увеличивается (обычно в 2 раза + 2) через System.arraycopy().

Пример:

java
StringBuilder sb = new StringBuilder(); // char[16]
sb.append("Java");  // Заполняет 4 ячейки
sb.append(" очень быстрая");  // При переполнении создается новый массив (например, char[34])

Плюсы:

  • Нет накладных расходов на создание строк, как у String (конкатенация через +).
  • Методы append(), insert(), delete() работают за O(1) или O(n) (при копировании).

Важно: Не потокобезопасен (в отличие от StringBuffer).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы