利用 Set 集合不能存放重复元素的特性,现在小编就来说说关于java生成10个1-100随机数不重复?下面内容希望能帮助到你,我们来一起看看吧!

java生成10个1-100随机数不重复(中生成一组不重复随机整数的简便方法)

java生成10个1-100随机数不重复

实现原理

利用 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

,