草庐IT

java - 创建没有重复的随机数

在这种情况下,MAX只有5,所以我可以一个一个地检查重复项,但我怎样才能以更简单的方式做到这一点?例如,如果MAX的值为20,该怎么办?谢谢。intMAX=5;for(i=1,i 最佳答案 最简单的方法是创建一个可能的数字列表(1..20或其他),然后使用Collections.shuffle将它们随机排列。然后随便取多少你想要的元素。如果你的范围等于你最终需要的元素数量(例如洗一副牌),那就太好了。如果你想要(比如说)1..10,000范围内的10个随机元素,那效果就不太好了——你最终会做很多不必要的工作。到那时,最好保留到目前为

java - 创建没有重复的随机数

在这种情况下,MAX只有5,所以我可以一个一个地检查重复项,但我怎样才能以更简单的方式做到这一点?例如,如果MAX的值为20,该怎么办?谢谢。intMAX=5;for(i=1,i 最佳答案 最简单的方法是创建一个可能的数字列表(1..20或其他),然后使用Collections.shuffle将它们随机排列。然后随便取多少你想要的元素。如果你的范围等于你最终需要的元素数量(例如洗一副牌),那就太好了。如果你想要(比如说)1..10,000范围内的10个随机元素,那效果就不太好了——你最终会做很多不必要的工作。到那时,最好保留到目前为