Java中的 LongStream concat()
LongStream concat()方法创建一个连接流,其中元素是第一个流的所有元素,然后是第二个流的所有元素。如果两个输入流都是有序的,则结果流是有序的,如果任一输入流是并行的,则结果流是并行的。
句法 :
static LongStream concat(LongStream a, LongStream b)
参数 :
- LongStream :原始长值元素的序列。
- a :表示第一个流。
- b :表示第二个流。
返回值:该函数返回两个输入 LongStream 的串联。
对 LongStream.concat(LongStream a, LongStream b) 的调用可以视为形成二叉树。所有输入流的串联位于根部。各个输入流位于叶子上。下面给出了 3 个 LongStreams a、b 和 c 的示例。
每个额外的输入流都会为树增加一层深度,并增加一层间接层以到达所有其他流。
注意: LongStream.concat() 方法返回的元素是有序的。例如,以下两行返回相同的结果:
LongStream.concat(LongStream.concat(stream1, stream2), stream3);
LongStream.concat(stream1, LongStream.concat(stream2, stream3));
但是下面两个的结果是不同的。
LongStream.concat(LongStream.concat(stream1, stream2), stream3);
LongStream.concat(LongStream.concat(stream2, stream1), stream3);
示例 1:
// Implementation of LongStream concat()
// method in Java 8 with 2 LongStreams
import java.util.*;
import java.util.stream.LongStream;
import java.util.stream.Stream;
class GFG {
// Driver code
public static void main(String[] args)
{
// Creating two LongStreams
LongStream stream1 = LongStream.of(2L, 4L, 6L);
LongStream stream2 = LongStream.of(1L, 3L, 5L);
// concatenating both the Streams
// with LongStream concat() function
// and displaying the result
LongStream.concat(stream1, stream2)
.forEach(element -> System.out.println(element));
}
}
输出:
2
4
6
1
3
5
示例 2:
// Implementation of LongStream concat()
// method in Java 8 with 2 LongStreams
import java.util.*;
import java.util.stream.LongStream;
import java.util.stream.Stream;
class GFG {
// Driver code
public static void main(String[] args)
{
// Creating two LongStreams
LongStream stream1 = LongStream.of(2L, 4L, 6L);
LongStream stream2 = LongStream.of(1L, 2L, 4L);
// concatenating both the Streams
// with LongStream concat() function
// and displaying distinct elements
// in the concatenated LongStream
LongStream.concat(stream1, stream2).distinct().
forEach(element -> System.out.println(element));
}
}
输出:
2
4
6
1