2021-08-25 02:34:45
在 Java 中,可以通过以下步骤将数组打乱顺序:
创建数组:首先,创建一个包含要打乱顺序元素的数组。例如:
int[] numbers = {1, 2, 3, 4, 5};使用 Collections.shuffle 方法打乱顺序:Java 提供了 Collections.shuffle 方法,它可以对 List 进行随机打乱顺序。由于 Collections.shuffle 不能直接用于基本类型数组(如 int[]),需要先将数组转换为 List。以下是具体实现:
List<Integer> list = Arrays.asList(Arrays.stream(numbers).boxed().toArray(Integer[]::new));Collections.shuffle(list);将 List 转换回数组(可选):如果需要将结果存回数组,可以进行如下转换:
Integer[] shuffledArray = list.toArray(new Integer[0]);打印乱序数组:可以使用以下代码打印结果:
System.out.println(Arrays.toString(shuffledArray));如果不想依赖 Collections.shuffle,可以手动实现 Fisher-Yates 洗牌算法:
import java.util.Arrays;import java.util.Random;public class ShuffleArray { public static void main(String[] args) { int[] numbers = {1, 2, 3, 4, 5}; Random random = new Random(); for (int i = numbers.length - 1; i > 0; i--) { int j = random.nextInt(i + 1); int temp = numbers[i]; numbers[i] = numbers[j]; numbers[j] = temp; } System.out.println(Arrays.toString(numbers)); }}这种方法直接操作基本类型数组,效率更高且无需转换类型。