📜  Java API中Stream接口的concat()方法(1)

📅  最后修改于: 2023-12-03 15:15:55.121000             🧑  作者: Mango

Java API中Stream接口的concat()方法介绍

concat()方法是Java Stream接口中的一个方法,用于将两个Stream流合并成一个新的Stream流。该方法可以用于将两个流中的元素串联起来,返回一个包含两个流中所有元素的新Stream。

语法
static <T> Stream<T> concat(Stream<? extends T> a, Stream<? extends T> b)
参数
  • a: 第一个要合并的Stream流
  • b: 第二个要合并的Stream流
返回值

合并后的新Stream流

示例代码
import java.util.stream.Stream;

public class StreamConcatExample {
    public static void main(String[] args) {
        Stream<String> stream1 = Stream.of("apple", "banana", "orange");
        Stream<String> stream2 = Stream.of("cat", "dog", "elephant");
        
        Stream<String> concatStream = Stream.concat(stream1, stream2);
        
        concatStream.forEach(System.out::println);
    }
}
输出结果
apple
banana
orange
cat
dog
elephant

在上面的示例代码中,我们使用了concat()方法将两个String类型的Stream流合并成一个新的Stream。合并后的Stream包含了所有原始流中的元素,并按照他们的顺序排列。最后,我们通过forEach()方法遍历并打印合并后的Stream流中的所有元素。

注意事项
  • concat()方法可以接受任意类型的Stream流作为参数,但是合并后的Stream流的泛型类型将与传入的两个Stream流的泛型类型相同。
  • 合并后的Stream流是一个延迟操作流,需要通过终端操作(如forEach()collect()等)来触发执行。
  • 如果一个或两个输入流是无限流,那么合并后的流也将成为一个无限流,需要慎重使用。