Встречается на собеседованиях • сегодня
Как решить проблему с потреблением большого количества памяти при множественной конкатенации в цикле
Используйте 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, если известен примерный размер результата, чтобы избежать лишних расширений буфера.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы