diff --git a/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java index 08f30132a..ec92e1a21 100644 --- a/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java @@ -1362,10 +1362,9 @@ public class NumberUtil { throw new UtilException("Size is larger than range between begin and end!"); } - Random ran = new Random(); - Set set = new HashSet<>(); + Set set = new HashSet<>(Math.max((int) (size / .75f) + 1, 16)); while (set.size() < size) { - set.add(begin + ran.nextInt(end - begin)); + set.add(begin + RandomUtil.randomInt(end - begin)); } return set.toArray(new Integer[size]);