代码来自:https://www.cnblogs.com/ningvsban/p/3590722.html,感觉实现的方式不错(做了一点小小修改)

public static ArrayList getDiffNo(int count, int n){
// 生成count个[0-n) 不重复的随机数,左开右闭
// list 用来保存这些随机数
ArrayList list = new ArrayList();
Random rand = new Random();
boolean[] bool = new boolean[n];
int num = 0;
for (int i = 0; i < count; i++) {
do {
// 如果产生的数相同继续循环
num = rand.nextInt(n);
} while (bool[num]);
bool[num] = true;
list.add(num);
}
return list;
}

测试:

for (int i = 0; i < 10; i++) {
System.out.println(getDiffNo(5, 20));;
}

结果:

[4, 0, 8, 9, 13]
[6, 13, 8, 10, 14]
[16, 6, 17, 12, 19]
[3, 10, 13, 4, 14]
[10, 0, 1, 5, 19]
[1, 14, 5, 11, 6]
[1, 3, 5, 9, 18]
[0, 5, 10, 4, 7]
[4, 5, 19, 10, 16]
[6, 13, 11, 3, 18]

最新文章

  1. [转]ASP.NET Core 中间件详解及项目实战
  2. JS事件对象与事件委托
  3. Spring MVC 急速集成 Shiro 实录
  4. R-处理数据对象的实用函数
  5. php 以图搜图
  6. 【GoLang】GoLang 微服务、开源库等参考资料
  7. redhad借用CentOs yum 安装
  8. 转:Nginx配置指令location匹配符优先级和安全问题
  9. Git教程(8)Git几种工作方式
  10. HDU1862EXCEL排序
  11. Android 学习手札(二) 活动(Activity)组件
  12. VisualStudio.DTE 对象可以通过检索 GetService() 方法
  13. BZOJ 3097: Hash Killer I【构造题,思维题】
  14. timeit模块
  15. Kali学习笔记44:SQLMAP
  16. #12 Python函数
  17. 题解-APIO2010 特别行动队
  18. php核心纪要 整理
  19. RedHat Enterprise Linux7.0安装Oracle12c
  20. apache与weblogic 的整合

热门文章

  1. 我在CSDN开通博客啦!
  2. JS 通过选择百度地图地址获取经纬度自动填充到文本框中的方法
  3. RPC和微服务
  4. struts 模块化
  5. AndroidStudio更改Gradle的版本
  6. 【168】ENVI入门系列
  7. 8 种提升ASP.NET Web API性能的方法
  8. POJ 2452 Sticks Problem (暴力或者rmq+二分)
  9. oracle创建数据库与配置监听器
  10. P3174 [HAOI2009]毛毛虫(树形dp)