std :: random_shuffle Java analog



我不是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);
}
}
}

相关内容

  • 没有找到相关文章

最新更新