【发布时间】:2023-04-03 04:25:01
【问题描述】:
我对随机数和数组有疑问。我有一个列表空列表,我想添加 8 个随机值,但我不希望某些值是相同的。为了获得一些随机值,我使用以下代码:
for (int i = 0; i < 8; i++) {
round = random.nextInt(31);
while (temp.get(round).equals(mix)) {
round = random.nextInt(31);
}
mix.add(temp.get(round));
}
temp 是包含 32 个对象的列表,mix 是我想要添加 8 个随机值的列表。但是当我随机一些值时,有时我会得到相同的值。如何获取随机值但不重复?
【问题讨论】:
-
您可以将您的数组转换为一个列表,并使用 arraylist 的 contains 方法来检查它是否存在。如果没有,请添加它。否则,生成一个新的并重试。可以通过 Arrays.asList() 转换为列表(如果您使用的是 Java 6)