我不是C++专家,所以我想问,有人知道Java的std :: random_shuffle
是否有类似物吗?这样我也可以通过2个阵列
例如std::random_shuffle ( & mask[0], &mask[81]);
对于列表,您可以直接使用Collections.shuffle()
:
List<Integer> mask = new ArrayList<>();
for (int i = 0; i < 90; i++) mask.add(i);
Collections.shuffle(mask.subList(0, 81));
如果你有一个对象数组,那么你可以使用以下代码:
Integer[] mask = new Integer[90];
for (int i = 0; i < 90; i++) mask[i] = i;
Collections.shuffle(Arrays.asList(mask).subList(0, 81));
对于基元类型的数组,您需要自己编写代码。
您可以使用Collections.shuffle
:
import java.util.ArrayList;
import java.util.Collections;
public class Main
{
public static void main(String[] args)
{
ArrayList<Integer> arr = new ArrayList<>();
for (int i = 0; i != 10; ++i) {
arr.add(i);
}
Collections.shuffle(arr);
for (int elm : arr) {
System.out.println(elm);
}
}
}