Java 中生成一组不重复随机整数的简便方法
实现原理
利用 Set 集合不能存放重复元素的特性
package util; import java.util.HashSet; import java.util.Random; import java.util.Set; /** * @author ajun * Date 2021/7/14 * @version 1.0 * 工具类 */ public class MyUitls { public static void main(String[] args) { Set<Integer> set = getRandoms(-30, -20, 5); System.out.println("数量:" + set.size()); for (Integer s : set) { System.out.println(s); } } /** * 生成一组不重复随机数 * * @param start 开始位置:可以为负数 * @param end 结束位置:end > start * @param count 数量 >= 0 * @return */ public static Set<Integer> getRandoms(int start, int end, int count) { // 参数有效性检查 if (start > end || count < 1) { count = 0; } // 结束值 与 开始值 的差小于 总数量 if ((end - start) < count) { count = (end - start) > 0 ? (end - start) : 0; } // 定义存放集合 Set<Integer> set = new HashSet<>(count); if (count > 0) { Random r = new Random(); // 一直生成足够数量后再停止 while (set.size() < count) { set.add(start + r.nextInt(end - start)); } } return set; } }
数量:5
-25
-26
-27
-30
-23
本文来自博客园,作者:土味儿,转载请注明原文链接:https://www.cnblogs.com/tuwer/articles/15010475.html
浙公网安备 33010602011771号