Как объединить два стрима
[Как объединить два стрима]
Иногда возникает необходимость объединить два различных стрима. В это статье мы расскажем вам, как это сделать несколькими способами.
Объединение с помощью Stream.concat
Это наиболее популярный и удобный способ объединения двух стримов.
Допустим, у вас есть два стрима:
Stream<String> s1 = Arrays.stream(new String[]{"A", "B", "C"});
Stream<String> s2 = Arrays.stream(new String[]{"D", "E", "F"});
Их можно объединить с помощью метода Stream.concat:
Stream.concat(s1, s2).forEach(System.out::println);
Stream.concat объединит элементы из двух стримов в один стрим.
Объединение стримов IntStream, LongStream, DoubleStream
Если вам требуется объединить элементы из стримов типа IntStream, LongStream или DoubleStream, можно воспользоваться тем же методом concat:
IntStream i1 = IntStream.range(1, 5); IntStream i2 = IntStream.range(5, 11); IntStream.concat(i1, i2).forEach(System.out::println);
Аналогичным образом объединяются элементы в стримах LongStream и DoubleStream.
Исходный код
import java.util.Arrays;
import java.util.stream.IntStream;
import java.util.stream.Stream;
public class MergeTwoStreamsExample {
public static void main(String[] args) {
Stream<String> s1 = Arrays.stream(new String[]{"A", "B", "C"});
Stream<String> s2 = Arrays.stream(new String[]{"D", "E", "F"});
Stream.concat(s1, s2).forEach(System.out::println);
IntStream i1 = IntStream.range(1, 5);
IntStream i2 = IntStream.range(5, 11);
IntStream.concat(i1, i2).forEach(System.out::println);
// LongStream.concat(...)
// DoubleStream.concat(...)
}
}
Заключение
В данной статье мы рассмотрели, как объединить элементы двух стримов с помощью метода Stream.concat. Точно так же можно объединять стримы IntStream, LongStream и DoubleStream.
Как объединить два стрима
Stream.concat — удобный способ объединения стримов.