生成不重复的随机数
2017-11-20 22:51
113 查看
package cn.wwz.test; import java.util.Arrays; import java.util.HashSet; import java.util.Random; /** * 利用HashMap不允许出现重复值的特点 产生随机不重复的数组 * @Author WWZ * @Date 2017-11-20下午10:34:34 */ public class Dichotomy { /** * 封装了一个生成有序排序、无重复的随机数组 * @param number 生成随机数的个数 * @param size 生成随机数的范围 */ public void getNum(int number,int size) { Random random = new Random(); HashSet<Object> set = new HashSet<Object>(); long a = System.currentTimeMillis(); // HashSet 实现 a = System.currentTimeMillis(); System.out.println((System.currentTimeMillis() - a) / 1000f + " 秒 "); while (set.size() < number) { int num = random.nextInt(size); set.add(num); } Object[] arrays = set.toArray(); //满足题意的数组,需要用for循环逐个取出转化 这里不做演示了 System.out.println("共花费:" + (System.currentTimeMillis() - a) / 1000f + " 秒 "); Arrays.sort(arrays); int j = 0; int z = 2; System.out.print("第1行\t"); for (int i = 0; i < arrays.length; i++) { j++; System.out.print(arrays[i] + "\t"); if (j % 10 == 0 && z < 11) { System.out.println(); System.out.print("第" + z + "行\t"); z++; } } } public static void main(String[] args) { Dichotomy dy = new Dichotomy(); dy.getNum(100, 10000); } }
相关文章推荐
- 生成无重复随机数的2种方法
- 生成[iLow, iHigh]之间的无重复的iCount个int型随机数
- T-SQL生成X个不重复的Y位长度的随机数
- 生成不重复的随机数的三种方法
- ios 生成不重复随机数
- 生成不重复的随机数
- [原创] T-SQL生成X个不重复的Y位长度的随机数
- 2011 5-9 生成N个不重复的 (0<x<N) 随机数
- PHP生成不重复随机数的方法汇总
- T-SQL生成X个不重复的Y位长度的随机数
- Java生成随机数,几千年不重复哦
- 生成不重复的随机数
- 相邻不重复随机数的生成及优化
- 生成无重复随机数的2种方法
- java 不重复随机数生成
- 生成 min-max之间n个不重复的随机数
- PHP 生成N个不重复的随机数
- JAVA生成指定位数不重复的随机数,随机数含0-9、A-Z
- 生成不重复随机数