随机化元素位置到Array中

时间:2011-04-17 12:01:01

标签: java

我有一个包含4个元素的数组。我需要随机定位。用Java做最好的方法是什么。

3 个答案:

答案 0 :(得分:4)

您可以使用以下

Collections.shuffle(Arrays.asList(myArrayOfWhatever));

然后将List转换回Array。如果你有一个非常大的数组,但是你的数组只有4个,这可能会很糟糕。

source:http://www.velocityreviews.com/forums/t302430-random-sorting-of-an-array.html(通过google搜索[java array random sort]或[java array shuffle])

答案 1 :(得分:1)

改组的常用算法是Fisher-Yates shuffle。 wikipedia page包含所有必需的详细信息

答案 2 :(得分:1)

对于很多像这样的简单任务,你会发现通常有静态方法来帮助你 - 无论是在集合类本身,还是在“复数类”上 - 例如数组,集合等

(另请注意,Java 7引入了几个新的复数类及其有用的方法,例如对象和路径)。

当想要做一些简单的事情时,在开始实施自制软件解决方案之前,请停下来思考是否存在现有的帮助方法。