gpt4 book ai didi

java - Java 安全随机中的重复随机数

转载 作者:行者123 更新时间:2023-12-01 08:02:10 25 4
gpt4 key购买 nike

我期望来自以下Callable的唯一随机数:

public class UniqueGenerator implements Callable<Integer> {

private static SecureRandom rnd;

static {
try {
rnd = SecureRandom.getInstance("SHA1PRNG");
rnd.setSeed(UUID.randomUUID().toString().getBytes());
} catch (NoSuchAlgorithmException e) {
}
}

@Override
public Integer call() throws Exception {
return rnd.nextInt();

}
}

但是,从该方法的 1,000,000 次执行中,我从未获得 1,000,000 个唯一整数。有什么办法可以得到我想要的结果吗?在尝试生成唯一整数时我犯了什么错误?

最佳答案

如果您想要 1,000,000 个唯一的随机整数,请创建一个包含 0 到 999,999 之间的 Integer 对象的 ArrayList,然后使用您的 SecureRandom 对该列表进行随机排列对象:

Collections.shuffle(cards, secureRandom);

然后根据需要使用整数,如果列表为空,则重新创建列表。

关于java - Java 安全随机中的重复随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24557218/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com