JAVA中的随机数生成

ASi*_*ngh 3 java algorithm data-structures

我知道JAVA Random类及其用法.但我想生成一个随机数,在该范围内的所有数字至少生成一次之前,不应重复该数字.任何人都可以提供一些参考..?

在使用Random类时,我遇到的问题是有些数字会重复2到3次,而有些则根本没有生成.我的应用程序可能会在这种情况下失败,因为我有另一个线程根据生成的数字处理一些请求....当有延迟并且下一个唯一数字不可用时,它会在不处理非生成数字的情况下停止...

Pet*_*rey 13

您可以生成范围内的所有值并对其进行随机播放.Collections.shuffle() 一旦使用了每个值,重复一遍.

想象一下,你有一副牌,你拿一张牌,每张牌一次,你洗牌,你会知道每张牌会以随机顺序出现,只有一次.当一个牌组完成后,你再次拿走所有的牌并重新洗牌(或者新的牌组和洗牌)