你可以使用Java中的Collections类中的shuffle方法来打乱一个数组中的元素。以下是一个示例代码:
import java.util.Arrays; import java.util.Collections; public class ShuffleArray { public static void main(String[] args) { Integer[] numbers = {1, 2, 3, 4, 5}; System.out.println("Original Array: " + Arrays.toString(numbers)); Collections.shuffle(Arrays.asList(numbers)); System.out.println("Shuffled Array: " + Arrays.toString(numbers)); } }
在这个例子中,我们首先定义了一个Integer类型的数组,并打印了原始数组。然后我们使用Arrays.asList方法将数组转换为List,并使用Collections类中的shuffle方法打乱了元素的顺序。最后,我们再次打印数组以查看打乱后的结果。
请注意,shuffle方法只能在List类型的集合上使用,因此我们需要先将数组转换为List类型。此外,由于数组是一个引用类型,因此在使用shuffle方法之后,原始数组也会被修改,因此您不需要将其分配给另一个变量。
如果您想打乱一个基本类型数组(如int、double、boolean等),则需要使用Java中的Arrays类中的相应方法。以下是一个示例代码:
import java.util.Arrays; import java.util.Random; public class ShuffleIntArray { public static void main(String[] args) { int[] numbers = {1, 2, 3, 4, 5}; System.out.println("Original Array: " + Arrays.toString(numbers)); shuffleIntArray(numbers); System.out.println("Shuffled Array: " + Arrays.toString(numbers)); } public static void shuffleIntArray(int[] array) { Random rand = new Random(); for (int i = array.length - 1; i > 0; i--) { int j = rand.nextInt(i + 1); int temp = array[i]; array[i] = array[j]; array[j] = temp; } } }
在这个例子中,我们定义了一个int类型的数组,并打印了原始数组。然后我们使用shuffleIntArray方法来打乱数组元素的顺序。该方法使用Random类生成一个随机数,然后交换数组中的元素来打乱它们的顺序。最后,我们再次打印数组以查看打乱后的结果。
请注意,由于基本类型数组是值类型,因此我们必须通过传递数组的引用来修改数组本身。因此,在shuffleIntArray方法中,我们传递了数组的引用,并在该方法中修改了数组元素的顺序。
原文链接:codingdict.net