我有一个包含4个元素的数组。我需要随机定位。用Java做最好的方法是什么。
答案 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引入了几个新的复数类及其有用的方法,例如对象和路径)。
当想要做一些简单的事情时,在开始实施自制软件解决方案之前,请停下来思考是否存在现有的帮助方法。