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]