繁体   English   中英

在Java中随机化一组int的最快方法

[英]Quickest way to randomize an array of ints in Java

是否可以从一个数组中选择一个随机元素,并在没有ArrayLists / Collections等的帮助下将其移动到另一个数组(除非你可以在数组上使用shuffle)? 并确保不再选择元素? 我想把它设置为null似乎你不能删除它但我不确定。

基本上我希望myArray得到洗牌或随机化,我认为最好的方法是将它们从一个随机顺序中拉出来并将它们添加到一个新的...

您也可以使用Collections.shuffle(List)来混洗数组:

Integer[] data = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
Collections.shuffle(Arrays.asList(data));

System.out.println(Arrays.toString(data));

将打印例如[6,2,4,5,10,3,1,8,9,7]。

Arrays.asList不会创建新列表,而是创建数组的List接口包装器,以便对列表的更改也传播到数组。

您可以使用Collections.shuffle()方法来混洗列表。

-您可以使用List类的Collection ,然后使用shuffle()方法。

-或者如果你想坚持使用Array,那么首先你需要将数组转换为List然后使用shuffle()方法。

例如:

Integer[] arr = new Integer[10];

List<Integer> i = new ArrayList<Integer>(Arrays.asList());

Collections.shuffle(i);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM