关于创建0和1的数组,并以随机顺序制作内容

时间:2018-02-15 23:46:21

标签: java arrays

在java中,我应该做什么创建一个数据的一半数据是0,半1?我应该怎样做才能使用Randomize(shuffle)数组的内容

2 个答案:

答案 0 :(得分:2)

Integer[] arr = new Integer[100];
Arrays.fill(arr, 0, 50, 0);
Arrays.fill(arr, 50, 100, 1);
List<Integer> list = Arrays.asList(arr);
Collections.shuffle(list); //list is now in random order

如果您想为了Integer而避免使用ListCollections.shuffle(),则需要自己实施改组。请参阅this问题。

答案 1 :(得分:0)

试试这个。

int size = 100;
List<Integer> list = IntStream.range(0, size).mapToObj(x -> x).collect(Collectors.toList());
Collections.shuffle(list);
int[] result = list.stream().mapToInt(x -> x % 2).toArray();