您的位置:首页 > 编程语言 > Java开发

我也来谈谈Java: Random.nextInt() 和Math.random()的区别

2009-11-25 15:22 465 查看
我也来谈谈Java: Random.nextInt() 和Math.random()的区别

效率没有在意,今天知识在从做数据结构中的快速排序的时候,用到了随机数上看到了这一点,其实这里应该确切的说是

Random.nextInt(int n) 和Math.random()*n的区别,因为这两者之间的差异是存在的。看看文档就显而易见,为啥还有那么多人

首先是评论他们的效率问题,而他们根本就是有差异的。因为Random.nextInt(int n)是从0到N,但是不包括N,这里就问题来了,

而Math.random()*n是可能十分接近N的,大部分都是用到了整数吧,为什么还要这样比较呢?

所以这里应该叫

Random.nextInt(n) 和Math.random()*(n-1)或者Random.nextInt(n+1) 和Math.random()*n之间的区别吧,

而且还有一个重要的区别就是,在实际运用当中,配合其他的使用的时候,会出现很大的差异性。这里就不用多说了。

哈哈
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: