TGViewer
JavaRocks JavaRocks @javarocks · 2.12K subscribers
Post #55 3.7K
⌨️ Stream.reduce() vs Collectors.joining()

Когда требуется конкатенировать строки с использованием Stream, можно выбрать один из двух методов: Stream.reduce() или Stream.collect(Collectors.joining()).

Пример с Stream.reduce():
List<String> list = List.of("Str1", "Str2", "Str3");
String result = list.stream().reduce("", (a, b) -> a + b);
System.out.println(result); // Str1Str2Str3


Пример с Collectors.joining():
List<String> list = List.of("Str1", "Str2", "Str3");
String result = list.stream().collect(Collectors.joining());
System.out.println(result); // Str1Str2Str3


Использование reduce() для конкатенации строк не является оптимальным с точки зрения производительности. При каждом вызове операции +, создается новая строка, так как строки в Java неизменяемы. Это приводит к увеличению нагрузки на память из-за создания множества промежуточных объектов.

В свою очередь, метод Collectors.joining() использует StringBuilder для сборки строк, что значительно эффективнее. Он избегает создания лишних объектов и снижает потребление памяти.

👉 Java Rocks | #java #stream #reduce #joining
  • ❤ 5
  • 👌 3
More from @javarocks
  1. Sep 21, 2026⚡️ Вакансии по Java за неделю: ⭐️ Java-разработчик Firecode Onsite, Hybrid (Ростов-на-Дону…
  2. Sep 15, 2026🔴 Тестовый собес с Java-разработчиком уже завтра! [+ разбор 50 сложных вопросов в подарок…
  3. Sep 14, 2026⚙️ Вакансии по Java за неделю: 📥 Java Developer Hireway Remote · ₽240 000 – 250 000 📥 Ja…
  4. Sep 7, 2026✨ Вакансии по Java за неделю: 📥 Senior Java разработчик Продуктовая лаборатория Mish Seni…
  5. Sep 3, 2026🖥 Геттеры и сеттеры в Java Геттеры и сеттеры - это специальные методы класса для получени…
  6. Sep 3, 2026ХОЧЕШЬ ПОВЫСИТЬ ГРЕЙД В 2026 ГОДУ? 🚀 Чтобы стать Senior Java разработчиком сегодня, нужно…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →