Java 中的 Stream.concat()

java 8object oriented programmingprogramming更新于 2025/12/8 22:36:17

Java 中 Stream 类的 concat() 方法创建一个惰性连接流,其元素为第一个流的所有元素,后跟第二个流的所有元素。语法如下 −

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

其中,a 是第一个流,b 是第二个流。T 是流元素的类型。

示例

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

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]

相关文章