JAVA获取不相同随机数
2018-01-03 16:33
375 查看
1、比如说我们获取1-10之间的5个不相同的随机数,调用如下:getRandomNum(1,10,5);
2、获取指定集合(数组自行转换就可)指定随机数
/** * * @param requMin 最小值 * @param requMax 最大值 * @param targetLength 获取随机数个数 * @return */ public List<Integer> getRandomNum(int requMin, int requMax, int targetLength) { if(requMax-requMin < 1){ System.out.print("最小值和最大值数据有误"); return null; }else if(requMax-requMin <targetLength){ System.out.print("指定随机个数超过范围"); return null; } int target = targetLength; List<Integer> list = new ArrayList<>(); List<Integer> requList = new ArrayList<>(); for (int i = requMin; i <= requMax; i++) { requList.add(i); } for (int i = 0; i < targetLength; i++) { // 取出一个随机角标 int r = (int) (Math.random() * requList.size()); list.add(requList.get(r)); // 移除已经取过的值 requList.remove(r); } return list; }
2、获取指定集合(数组自行转换就可)指定随机数
/** * * @param requList 指定集合 * @param targetLength 获取随机数个数 * @return */ public List<Integer> getRandomNum(List<Integer> requList, int targetLength) { if(requList.size() < 1){ System.out.print("requList数据有误"); return null; }else if(requList.size() <targetLength){ System.out.print("指定随机个数超过范围"); return null; } List<Integer> list = new ArrayList<>(); for (int i = 0; i < targetLength; i++) { // 取出一个随机角标 int r = (int) (Math.random() * requList.size()); list.add(requList.get(r)); // 移除已经取过的值 requList.remove(r); } return list; }
相关文章推荐
- java 利用二进制位进行标记,获取不相同的随机数
- 黑马程序员-JAVA基础面试-获取10个1-20 的随机数,要求获取的随机数不能相同!
- java获取随机数
- java-获取两个数组中相同的值
- JAVA中获取不同随机数
- c#获取相同概率随机数
- JAVA获取随机数
- JAVA获取随机数
- java中从1000万个随机数中查找出相同的10万个随机数花的最少时间
- JAVA获取随机数
- java获取数组连续相同元素下标
- java获取随机数之一
- Java生成随机数工具类,进制之间的转换工具类,获取指定时间,时间格式转换工具类
- JAVA获取随机数
- JAVA获取随机数
- java获取指定长度随机数(版本1)
- JAVA-Random获取随机数
- JAVA获取随机数
- Java生成随机数工具类,进制之间的转换工具类,获取指定时间,时间格式转换工具类
- JAVA获取随机数