我有一个整数的数组(比如1,2,3,4,5或1,2,3,... 10或1,2,3,... 50)我想从中得到一组随机排序的数字。有没有一种实用方法可以做到这一点?
e.g。对于1,2,3,4,5随机化后,它可能是[1,5,4,2,3或2,1,3,5,4或3,1,2,4,5或... ]
我想知道是否有一个已经提供此功能的java实用程序/类?
答案 0 :(得分:2)
这对数组没有直接帮助,但是如果你把它转换为List<Integer>
就可以了。 (遗憾的是,您不能将Arrays.asList
与int[]
一起使用。)
或者,您可以非常轻松地自己实现Fisher-Yates Shuffle - 实际上,Wikipedia页面甚至在Java中都有实现:)(我将其更改为Random
引用作为参数但是 - 每次调用它时都不想创建Random
的新实例。)
答案 1 :(得分:1)
见java.util.Collections.shuffle 您的数组需要是一个集合。您可以使用java.util.Arrays.asList。