首页 > 编程语言 >Java中在指定范围内生成整型、长整型、双精度随机数流

Java中在指定范围内生成整型、长整型、双精度随机数流

时间:2023-01-06 14:22:05浏览次数:57  
标签:Java random collect 整型 随机数 doubles 精度

场景

Java8新特性-Stream对集合进行操作的常用API:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/126070657

如果希望在指定范围内生成整型、长整型或双精度随机数流,可以

使用 java.util.Random 类定义的 ints、longs 与 doubles方法。

如果仅需要生成一个双精度随机数,则不妨采用静态 Math.random方法,

它返回一个位于 0.0 和 1.0 之间的双精度值 。

这个过程相当于将 java.util.Random 类实例化并调用 nextDouble 方法。

指定结果流的大小以及生成数的最小值和最大值。以 doubles 方法为例:

DoubleStream doubles(long streamSize, double randomNumberOrigin,double randomNumberBound)

返回流生成给定数量(streamSize)的双精度伪随机数,每个数大于或等于 randomNumberOrigin,

且严格小于randomNumberBound。

如果不指定最小值或最大值,对于 doubles 方法,最小值默认为0,最大值默认为 1;

对于 ints 方法,最小值和最大值默认为整型数据的完整范围;

对于 longs 方法,最小值和最大值默认为长整型数据的(有效)完整范围。

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi

实现

        Random random = new Random();

        //5个随机整数
        random.ints(5)
                .sorted()
                .forEach(System.out::println);

        //5个位于0(包括)和0.5(不包括)之间的双精度随机数
        random.doubles(5,0,0.5)
                .sorted()
                .forEach(System.out::println);

        //可以通过 boxed 方法将 long 型数据转换为 Long 的实例
        List<Long> collect = random.longs(5)
                .boxed()
                .collect(Collectors.toList());
        System.out.println(collect);

        //也可以使用 collect 方法的三参数形式并自行指定Supplier、累加器与组合器
        LinkedList<Object> collect1 = random.ints(5, 10, 20)
                .collect(LinkedList::new, LinkedList::add, LinkedList::addAll);
        System.out.println(collect1);

 

标签:Java,random,collect,整型,随机数,doubles,精度
From: https://www.cnblogs.com/badaoliumangqizhi/p/17030358.html

相关文章

  • JAVA的FOR 语句
    快捷键 输入100.for等于输入for(inti=0;i<100;i++){}publicclassForDemo{publicstaticvoidmain(String[]......
  • Java 获取本机IP地址
    文章目录​​前言​​​​一、规则​​​​二、获取​​​​1.使用​​​​2.工具类​​前言在Java中如何准确的获取到本机IP地址呢?网上大部分的做法是​​InetAddress.getL......
  • 来自菜鸡Java工程师的日积月累
    项目简介目前​​Treasure​​​是个微服务架构的纯后端项目,前端部分后期进行;同时​​Treasure​​是一个来自菜鸡Java工程师本着对技术的积累与个人的成长的开源项目。主......
  • Java String为什么被设计为final的
    文章目录String被设计为不可变是因为String对象是缓存在字符串池中的,因此这些缓存的字符串是可以被多个客户端访问的,如果一个客户端的访问影响了别的客户端的行为,这样就存在......
  • Java 集合判空优化
    文章目录//反例LinkedList<Object>collection=newLinkedList<>();if(collection.size()==0){System.out.println("collectionisempty.");}//正例LinkedList<O......
  • Java 中map 遍历优化
    文章目录packagedemo.map;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importjava.util.stream.Collectors;/***<p>*Map遍历优化*</P>......
  • Java嵌套if else优化
    文章目录​​1.传统实现​​​​2.策略模式+工厂模式+单例模式优化​​​​2.1策略接口​​​​2.2不同策略实现类​​​​2.2.1处理策略一​​​​2.2.2处理策略二​......
  • Java8 函数式接口
    文章目录​​一、特点​​​​二、函数式接口中允许定义的方法类型​​​​三、四大内置函数式接口​​​​1.`Consumer`消费​​​​1.1示例​​​​2.`Supplier`供应......
  • java实现微信公众号消息推送
    1.打开[(https://push.ggt1024.com)],微信扫码登录2.点击java生成代码复制3.在pom.xml中添加依赖<dependency><groupId>com.squareup.okhttp3</groupId>......
  • Java中解决lambda表达式内部访问在其外部定义的变量-使用mapToInt
    场景Java8新特性-Stream对集合进行操作的常用API:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/126070657上面介绍Stream的相关使用示例。如果遇到在lam......