Stream<String> a = Stream.of("one", "three", "five");
Stream<String> b = Stream.of("two", "four", "six");
Что мне нужно сделать, чтобы вывод был ниже?
// one
// two
// three
// four
// five
// six
Я посмотрел на concat
, но, как объясняет Javadoc, он просто добавляется один за другим, он не перемежается и не перемежается.
Stream<String> out = Stream.concat(a, b);
out.forEach(System.out::println);
Создает ленивый каскадный поток, элементами которого являются все
элементы первого потока, за которым следуют все элементы
второй поток.
Неправильно дает
// one
// three
// five
// two
// four
// six
Мог бы сделать это, если бы я собрал их и повторил, но надеялся на что-то более Java8-й, Streamy: -)
Примечание
Я не хочу архивировать потоки
Операция «zip» будет брать элемент из каждой коллекции и объединять их.
результат операции zip будет примерно таким: (нежелательным)
// onetwo
// threefour
// fivesix