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

Как решить проблему с потреблением большого количества памяти при множественной конкатенации в цикле

Используйте StringBuilder вместо конкатенации строк оператором + в циклах. При каждой конкатенации создается новый объект String, что приводит к лишним аллокациям памяти. StringBuilder работает с изменяемым буфером.

Пример:

java
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 1000; i++) {
    sb.append("string").append(i);
}
String result = sb.toString();

Для многопоточных сценариев используйте StringBuffer, но он медленнее из-за синхронизации. Также можно задать начальную емкость StringBuilder, если известен примерный размер результата, чтобы избежать лишних расширений буфера.

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

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

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

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