📜  Java中的DoubleStream concat()

📅  最后修改于: 2022-05-13 01:55:19.012000             🧑  作者: Mango

Java中的DoubleStream concat()

DoubleStream concat()方法创建一个连接流,其中元素是第一个流的所有元素,然后是第二个流的所有元素。如果两个输入流都是有序的,则结果流是有序的,如果任一输入流是并行的,则结果流是并行的。

句法 :

static DoubleStream concat(DoubleStream a,  DoubleStream b)

参数 :

  1. DoubleStream :原始双值元素的序列。
  2. a :表示第一个流。
  3. b :表示第二个流。

返回值:该函数返回两个输入 DoubleStream 的串联。

对 DoubleStream.concat(DoubleStream a, DoubleStream b) 的调用可以视为形成二叉树。所有输入流的串联位于根部。各个输入流位于叶子上。下面给出了 3 个 DoubleStreams a、b 和 c 的示例。

每个额外的输入流都会为树增加一层深度,并为到达所有其他流增加一层间接性。

注意: DoubleStream.concat() 方法返回的元素是有序的。例如,以下两行返回相同的结果:

DoubleStream.concat(DoubleStream.concat(stream1, stream2), stream3);
DoubleStream.concat(stream1, DoubleStream.concat(stream2, stream3));

但是下面两个的结果是不同的。

DoubleStream.concat(DoubleStream.concat(stream1, stream2), stream3); 
DoubleStream.concat(DoubleStream.concat(stream2, stream1), stream3);

示例 1:

// Implementation of DoubleStream.concat()
// method in Java 8 with 2 DoubleStreams
import java.util.*;
import java.util.stream.DoubleStream;
import java.util.stream.Stream;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
        // Creating two DoubleStreams
        DoubleStream stream1 = DoubleStream.of(2.2, 4.3, 6.4);
        DoubleStream stream2 = DoubleStream.of(1.5, 3.6, 5.7);
  
        // concatenating both the Streams
        // with DoubleStream.concat() function
        // and displaying the result
        DoubleStream.concat(stream1, stream2)
            .forEach(element -> System.out.println(element));
    }
}
输出:
2.2
4.3
6.4
1.5
3.6
5.7

示例 2:

// Implementation of DoubleStream.concat()
// method in Java 8 with 2 DoubleStreams
import java.util.*;
import java.util.stream.DoubleStream;
import java.util.stream.Stream;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
        // Creating two DoubleStreams
        DoubleStream stream1 = DoubleStream.of(2.2, 4.3, 6.4);
        DoubleStream stream2 = DoubleStream.of(1.5, 4.3, 2.2);
  
        // concatenating both the Streams
        // with DoubleStream.concat() function
        // and displaying the result
        DoubleStream.concat(stream1, stream2).distinct().forEach(element -> System.out.println(element));
    }
}
输出:
2.2
4.3
6.4
1.5