Java中的Stream.concat()

concat()Java中Stream类的方法创建一个延迟串联的流,其元素是第一个流的所有元素,然后是第二个流的所有元素。语法如下-

concat(Stream<? extends T> a, Stream<? extends T> b)

这里,a是第一流,而b是第二流。T是流元素的类型。

示例

以下是实现concat()Stream类的方法的示例-

import java.util.*;
import java.util.stream.IntStream;
import java.util.stream.Stream;
public class Demo {
   public static void main(String[] args) {
      Stream<String> streamOne = Stream.of("John");
      Stream<String> streamTwo = Stream.of("Tom");
      Stream.concat(streamOne, streamTwo).forEach(val -> System.out.println(val));
   }
}

输出结果

John
Tom

示例

现在让我们看看另一个示例,其中我们正在处理多个流-

import java.util.stream.Collectors;
import java.util.stream.Stream;
import static java.util.stream.Stream.*;
public class Main {
   public static void main(String[] args) {
      Stream<Integer> streamOne = Stream.of(15, 40, 50);
      Stream<Integer> streamTwo = Stream.of(55, 70, 90);
      Stream<Integer> streamThree = Stream.of(110, 130, 150);
      Stream<Integer> streamFour = Stream.of(170, 200, 240, 300);
      Stream<Integer> res = Stream.concat(streamOne, concat(streamTwo, concat(streamThree, streamFour)));
      System.out.println( res.collect(Collectors.toList()) );
   }
}

输出结果

[15, 40, 50, 55, 70, 90, 110, 130, 150, 170, 200, 240, 300]