网站首页 > java教程 正文
当我们考虑用数据填充一个大数组时,可以考虑使用`Arrays.setAll()`和`Arrays.parallelSetAll()`方法。这些方法可以通过应用一个生成器函数来计算数组的每个元素来填充数组。
由于我们需要用伪随机数据填充数组,我们应该考虑生成器函数应该是一个伪随机数生成器。如果我们考虑并行执行此操作,那么应该考虑`SplittableRandom`(JDK 8+)/`SplittableGenerator`(JDK 17+),它专门用于在隔离的并行计算中生成伪随机数。
总之,代码可能如下所示(JDK 17+):
SplittableGenerator splittableRndL64X256
= RandomGeneratorFactory
.<SplittableGenerator>of("L64X256MixRandom").create();
long[] arr = new long[100_000_000];
Arrays.parallelSetAll(arr,
x -> splittableRndL64X256.nextLong());
或者,使用`SplittableRandom`(这次我们无法指定算法,JDK 8+):
SplittableRandom splittableRandom = new SplittableRandom();
long[] arr = new long[100_000_000];
Arrays.parallelSetAll(arr, x -> splittableRandom.nextLong());
接下来,让我们看看如何创建伪随机数生成器的流。
- 上一篇: 第5章 包机制(包联机制什么意思)
- 下一篇: 关于随机数的几道算法题(随机算术题)
猜你喜欢
- 2024-09-08 JavaWeb项目各种随机数主键ID的代码范例供大家参考学习
- 2024-09-08 Java中List集合有哪些特性?Java开发常见集合
- 2024-09-08 这么一篇.Java性能权威指南.不需要好好的了解一下吗?
- 2024-09-08 一篇文章彻底弄懂CAS实现SSO单点登录原理
- 2024-09-08 Java练习:输出并统计水仙花数、猜数字小游戏
- 2024-09-08 Javaweb代码创建JESESSION32位随机数及session最大不活动时间
- 2024-09-08 Java 中生成一组不重复随机整数的简便方法
- 2024-09-08 JDK 17 - Java 17 的新特性速览(java的什么特性实现了软件开发人员一次编写)
- 2024-09-08 Java教学:Integer、日期类、数字类、随机数、枚举,一次搞定!
- 2024-09-08 Java程序员面试宝典:用这100个问答搞定面试官
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)