使用随机算法产生一个数,要求把1-1000W之间这些数全部生成
来源:互联网 发布:知乎 农村金融数据 编辑:程序博客网 时间:2024/06/05 04:38
无聊写个玩下
private static void createRandom() {
Random random = new Random();
long start = System.currentTimeMillis();
int value = 1000000;
ArrayList<Integer> list = new ArrayList<Integer>(value);
for (int j = 1; j <= value; ++j) {
list.add(j);
}
int index = 0;
int count = 0;
int tmp = 0;
while (value > 0) {
index = random.nextInt(value);
// System.out.println(list.get(index));
tmp = list.get(count + index);
list.set(count + index, list.get(count));
list.set(count, tmp);
++count;
--value;
}
long end = System.currentTimeMillis();
//----验证是否正确
Collections.sort(list);
int i = 0, size = list.size();
for (; i < size; ++i) {
if (list.get(i) != (i + 1))
System.out.println(i + "error" + list.get(i));
}
//----验证是否正确
System.out.println("creat3------");
System.out.println("执行耗时 : " + (end - start) / 1000f + " 秒 ");
System.out.println("集合大小为" + list.size());
}
private static void createRandom4() {
Random random = new Random();
long start = System.currentTimeMillis();
int value = 10000000;
int[] list = new int[value];
for (int j = 0; j < value; ++j) {
list[j] = j+1;
}
int index = 0;
int count = 0;
int tmp = 0;
while (value > 0) {
index = random.nextInt(value);
// System.out.println(list[count + index]);
tmp = list[count + index];
list[count + index] = list[count];
list[count] = tmp;
++count;
--value;
}
long end = System.currentTimeMillis();
//----验证是否正确
// Collections.sort(list);
// int i = 0, size = list.length;
// for (; i < size; ++i) {
// if (list[i] != (i + 1))
// System.out.println(i + "error" + list[i]);
// }
//----验证是否正确
System.out.println("creat4------");
System.out.println("执行耗时 : " + (end - start) / 1000f + " 秒 ");
System.out.println("完了,集合大小为" + list.length);
}
实际测试结果:
creat3------
执行耗时 : 5.169 秒
完了,集合大小为10000000
creat4------
执行耗时 : 0.729 秒
完了,集合大小为10000000
- 使用随机算法产生一个数,要求把1-1000W之间这些数全部生成。
- 使用随机算法产生一个数,要求把1-1000W之间这些数全部生成
- 使用随机算法产生一个数,要求把1-1000W之间这些数全部生成
- 随机生成一个数
- 随机产生一些数传递给一个函数,写程序找出并维护这些数的中位数。
- C#声明一个100大小的数组 随机生成1-100之间不重复的数
- C#声明一个100大小的数组 随机生成1-100之间不重复的数
- srand函数随机产生一个数_1
- 随机产生不同数
- 随机产生数
- 随机产生12个5~15之间的整数放入一位数组中,然后输出这些数,每行输出四个数
- 随机产生 20 个[10 , 100]的正整数,输出这些数以及他们中的最大数
- 随机生成文件名字或随机生成一个数
- 一个随机生成数独的程序
- java后台随机生成一个数
- java中怎样随机生成一个数
- 实训JAVA语言设计——产生一个2-K之间的随机整数,判断一个数是否是素数
- 随机产生N个中和为1的(0-1)之间的数
- 内部类(重点)
- 带有状态的SparkStreaming单词计数程序
- android:single和android:maxLines的区别
- 敏捷开发之Scrum扫盲篇
- 软件测试整理笔记
- 使用随机算法产生一个数,要求把1-1000W之间这些数全部生成
- 拓扑排序(猜序列,LA 4255)
- Android 属性动画(Property Animation) 完全解析
- CentOS系统升级内核
- Java网络编程下之Socket客户端编程
- css基础1-新知识点
- 事件流和return
- Vue源码学习
- javaweb代码和数据分离思考