在java中,我应该做什么创建一个数据的一半数据是0,半1?我应该怎样做才能使用Randomize(shuffle)数组的内容
答案 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
而避免使用List
和Collections.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();