在Java中生成随机数列表

7

我生成了一个随机数,可以是0或1

int randomColor = (Math.random() < 0.5) ? 0 : 1;

我需要创建52个随机数,其中26个为0,另外26个为1


5
这听起来并不是很随机... - jahroy
2个回答

20
你可以这样做:创建一个由52个数字组成的List。将其中26个设为零,另外26个设为1,然后使用Collections.shuffle()方法将它们随机打乱顺序。
List<Integer> numbers = new ArrayList<>();

for (int i = 0; i < 26; i++) {
    numbers.add(0);
    numbers.add(1);
}

Collections.shuffle(numbers);

3

使用Collections.shuffle(list)和只需3行代码即可完成整个过程:

List<Integer> list = new ArrayList<Integer>();
for (int i = 0; i < 52; i++) list.add(i % 2);
Collections.shuffle(list);

Voila!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接