随机数生成器,用于覆盖集合中的所有数字

时间:2012-07-06 12:21:13

标签: java random generator

我正在编写Android应用,我想生成随机数。

但是,Java的RandomGenerator只给我伪随机数。数字重复,而不是所有数字都被覆盖。

我想要的东西会给我不重复的数字并覆盖所有数字。我该怎么做?

2 个答案:

答案 0 :(得分:7)

您可以将所需的所有随机值放入列表并随机播放。

List<Integer> numbers = ...
Collections.shuffle(numbers);

这将以随机顺序为您提供唯一的数字。

答案 1 :(得分:0)

您可以使用要循环的数字填充数据结构,然后随机化结构中元素的顺序并逐个拉出。或者,您可以随机选择索引,并检索这些索引处的元素。无论你做什么(你会选择一个更有效的特定数据结构),你一定要抓住删除这个元素。当你继续前进时,你的数据结构将变得越来越小,直到你收到每个元素并且什么也没有留下。这也可以确保您永远不会两次击中相同的数字,因为您已经从可能的数字池中删除了它。