【发布时间】:2012-12-02 23:23:28
【问题描述】:
我正在为 Campare 排序算法编写程序。 我正在使用大量数字。我在创建充满随机数的数组时遇到了性能问题。
有什么方法可以加快速度吗?
目前我正在使用:
int[] temp = new int[length];
for(int i = 0; i < temp.length; i++)
{
temp[i] = generator.nextInt(temp.length * 10);
}
在哪里
generator = new Random();
【问题讨论】:
-
您能描述一下您提到的这个性能问题吗?
length的值是多少? -
我不确定这是否是你想要的,但你为什么不使用 Math.random() 来获取这些值?
-
该值从 1 到 100 000 并且需要(对我而言)1 分钟。 36 秒。 644 毫秒。我必须使用从 1 到 1 000 000 的值。那是 1000000!生成随机数。
-
@AntonGarciaDosil That method 在幕后使用了一个记忆的
java.util.Random,它会更笨拙,因为它返回一个double。 -
我想我找到了解决方案:xkcd.com/221
标签: java arrays performance