Java随机而不重复

时间:2015-09-04 04:32:11

标签: java android random

如何实现随机整数,可以只生成一次但不重复的每个数字。我在Android中使用此代码。

int random = Random.nextInt((max+1 - min) + min;

问题:在最大值和最小值之间有重复的数字和一些数字,它们不存在。

2 个答案:

答案 0 :(得分:3)

您需要一个随机算法

https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle

创建一个可能数字的数组/列表,将其随机播放,然后一次获取一次

答案 1 :(得分:0)

而不是列表(如Derek Fung所述)以及所有可能的值

  • 可以将创建的值存储在列表中
  • 检查该列表中是否有任何新创建的值
    • 将其添加到列表
    • 或创建新值,直到找到不在列表中的值