📜  在Java中生成无限的 Double 流

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

在Java中生成无限的 Double 流

鉴于任务是在Java中生成一个无限的顺序无序双流。

这可以通过以下方式完成:

  • 使用 DoubleStream.iterate()
    1. 使用 DoubleStream.iterate() 方法,通过将值增加 1 来使用 i 迭代 DoubleStream。
    2. 在 forEach() 方法的帮助下打印 DoubleStream。
    import java.util.stream.*;
      
    public class GFG {
      
        // Main method
        public static void main(String[] args)
        {
      
            DoubleStream
      
                // Iterate the DoubleStream with i
                // by incrementing the value with 1
                .iterate(0, i -> i + 1)
      
                // Print the DoubleStream
                // using forEach() method.
                .forEach(System.out::println);
        }
    }
    

    输出:

    0.0
    1.0
    2.0
    3.0
    4.0
    5.0
    6.0
    .
    .
    .
    
  • 使用 Random.doubles()
    1. 使用 doubles() 方法获取下一个双精度数
    2. 在 forEach() 方法的帮助下打印 DoubleStream。
    import java.util.stream.*;
    import java.util.*;
      
    public class GFG {
      
        // Main method
        public static void main(String[] args)
        {
      
            // Create a Random object
            Random random = new Random();
      
            random
      
                // Get the next double
                // using doubles() method
                .doubles()
      
                // Print the DoubleStream
                // using forEach() method.
                .forEach(System.out::println);
        }
    }
    

    输出:

    0.3668625445505631
    0.4385898887922953
    0.23333911864591927
    0.7134958163360963
    0.6945667694181287
    0.6898427735417596
    0.9243923588584183
    .
    .
    .
    
  • 使用 DoubleStream.generate() 方法
    1. 使用 DoubleStream.generate() 和 Random.nextDouble() 生成下一个双精度
    2. 在 forEach() 方法的帮助下打印 DoubleStream。
    import java.util.stream.*;
    import java.util.*;
      
    public class GFG {
      
        // Main method
        public static void main(String[] args)
        {
      
            // Create a Random object
            Random random = new Random();
      
            DoubleStream
      
                // Generate the next double
                // using DoubleStream.generate()
                // and Random.nextDouble()
                .generate(random::nextDouble)
      
                // Print the DoubleStream
                // using forEach() method.
                .forEach(System.out::println);
        }
    }
    

    输出:

    0.025801080723973246
    0.5115037630832635
    0.030815898624858784
    0.5441584143944648
    0.6984267528746901
    0.5821292304544626
    .
    .
    .