Java: Random.nextInt() 和Math.random()的区别

来源:互联网 发布:网络接线盒接法图解 编辑:程序博客网 时间:2024/05/16 17:32
2个Exp:
Java代码


前者生成的随机数效率高于后者,时间上前者大约是后者50%到80%的时间.

造成这个原因如下:
Math.random()是Random.nextDouble()的一个内部方法.
Random.nextDouble()使用Random.next()两次,均匀的分布范围为0到1 - (2 ^ -53).


Random.nextInt(n)的使用Random.next()不多于两次, 返回值范围为0到n - 1的分布


原创粉丝点击