mitaichik
@mitaichik

Как перемножить 2 потока (Stream API)?

Есть 2 потока :
Stream<String> stream1 = Arrays.stream(new String[]{"1", "2"});
Stream<String> stream2 = Arrays.stream(new String[]{"a", "b"});


Нужно получить поток с такими данными: 1а, 1b, 2a, 2b
Как такое сделать? Заранее спасибо!
  • Вопрос задан
  • 241 просмотр
Решения вопроса 3
@Janus74
StringBuilder или StringBuffer и цикл
Ответ написан
Комментировать
@protven
С помощью родного java stream api и чтобы было красиво и компактно - никак. Действительно, проще циклами.
С помощью сторонних либ, который реализуют функцию "zip" для коллекций - элементарно.
Например https://github.com/poetix/protonpack#zip

Если хочется элегантной и лаконичной работы с коллекциями в функциональном стиле, то смотрите в сторону Scala, а еще лучше Clojure, вот там с этим проблем нет.
Ответ написан
Комментировать
@red-barbarian
Посмотрите flatMap.
Внутри его сделайте перемножение строки на второй стрим
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы