博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
随机数去重
阅读量:7093 次
发布时间:2019-06-28

本文共 1771 字,大约阅读时间需要 5 分钟。

hot3.png

/**  * 随机指定范围内N个不重复的数  * 最简单最基本的方法  * @param min 指定范围最小值  * @param max 指定范围最大值  * @param n 随机数个数  */  public static int[] randomCommon(int min, int max, int n){      if (n > (max - min + 1) || max < min) {             return null;         }      int[] result = new int[n];      int count = 0;      while(count < n) {          int num = (int) (Math.random() * (max - min)) + min;          boolean flag = true;          for (int j = 0; j < n; j++) {              if(num == result[j]){                  flag = false;                  break;              }          }          if(flag){              result[count] = num;              count++;          }      }      return result;  }  public static void main(String []args) {		int[] result = randomCommon(100000,100010,10);       	for(int i = 0;i
/**  * 随机指定范围内N个不重复的数  * 利用HashSet的特征,只能存放不同的值  * @param min 指定范围最小值  * @param max 指定范围最大值  * @param n 随机数个数  * @param HashSet
set 随机数结果集 */ public static void randomSet(int min, int max, int n, HashSet
set) { if (n > (max - min + 1) || max < min) { return; } for (int i = 0; i < n; i++) { // 调用Math.random()方法 int num = (int) (Math.random() * (max - min)) + min; set.add(num);// 将不同的数存入HashSet中 } int setSize = set.size(); // 如果存入的数小于指定生成的个数,则调用递归再生成剩余个数的随机数,如此循环,直到达到指定大小 if (setSize < n) { randomSet(min, max, n - setSize, set);// 递归 } } public static void main(String []args) { HashSet
set = new HashSet
(); randomSet(20,50,10,set); for (int j : set) { System.out.println(j); } }

转载于:https://my.oschina.net/zhangshsURL/blog/1583766

你可能感兴趣的文章
架构设计杂谈-架构设计
查看>>
Linux的学习之路-2019 安装 VMware Workstation Pro
查看>>
Rhel6.0部署Oracle10g报错相关问题记录
查看>>
Golden Gate软件下载及操作指南
查看>>
Oracle教程之oracle 用户_oracle用户概念_用户表空间_用户资源文件
查看>>
oracle 备份数据库_oracle数据库备份
查看>>
Oracle技术之常数复合索引应用案例
查看>>
理解ASM(四)条带化原理和rebalance
查看>>
不升级skype,继续使用msn的办法
查看>>
Linux 批量删除群发邮件
查看>>
linux 批量修改文件名
查看>>
SQLserver 2008同步复制创建后新增表/函数/存储过程(不重新初始化快照)
查看>>
我们一起清除过的浮动
查看>>
python 实现(简单的一个购物商城小程序)
查看>>
Barracuda文件格式备份注意事项
查看>>
MYSQL安装之Yum
查看>>
程序员能亲自架构全国各地上万人同时访问的高并发大数据量的软件程序应该是职业生涯的荣幸...
查看>>
jquery load ($.load) 事件用法与分析(转)
查看>>
Flume-1.6.0学习笔记汇总
查看>>
sudo命令
查看>>