/
EugenyCh7
/
JavaAndScalaLessons
Обзор
Документация
Войти
/
EugenyCh7
/
JavaAndScalaLessons
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
JavaTest/src/ch8/ex12/Main.java
29 строк
1 KB
Eugeny Chekmarev
IDEA update
15 июн 2021, 21:11
15 июн 2021, 21:11
47fadf9
Код
Авторство
О чём код?
package ch8.ex12; import ch6.ex7.Pair; import java.util.Iterator; import java.util.Objects; import java.util.function.Function; import java.util.stream.IntStream; import java.util.stream.Stream; public class Main { public static void main(String[] args) { Stream<Integer> integerStream = Stream.iterate(1, x -> x + 2).limit(15); Stream<Double> doubleStream = Stream.iterate(1.1, x -> x + 2.2).limit(10); Stream<Pair<?>> zippedStream = zip(integerStream, doubleStream); zippedStream.forEach(System.out::println); } public static Stream<Pair<?>> zip(Stream<?> first, Stream<?> second) { Iterator<?> firstIterator = first.iterator(); Iterator<?> secondIterator = second.iterator(); return Stream.generate(() -> { if (firstIterator.hasNext() && secondIterator.hasNext()) { return new Pair<>(firstIterator.next(), secondIterator.next()); } return null; }).takeWhile(Objects::nonNull).map(Function.identity()); } }