📅  最后修改于: 2023-12-03 15:12:49.375000             🧑  作者: Mango
在 Java 中,随机打乱一个数组或列表是一种常见的操作。它可以用于实现洗牌算法、随机选取数据、测试排序算法的性能等等。本文将介绍如何随机打乱一个 Java 数组或列表的方法。
对于一个数组,我们可以使用 java.util.Collections
类中的 shuffle
方法来打乱它。下面是一个示例代码:
import java.util.Arrays;
import java.util.Collections;
public class ShuffleArrayDemo {
public static void main(String[] args) {
Integer[] arr = {1, 2, 3, 4, 5};
System.out.println("Original array: " + Arrays.toString(arr));
Collections.shuffle(Arrays.asList(arr));
System.out.println("Shuffled array: " + Arrays.toString(arr));
}
}
上面的代码中,我们先创建了一个 Integer
类型的数组 arr
,并使用 Arrays.toString
方法将其转换为字符串输出。然后,我们使用 Arrays.asList
方法将数组转换为列表,再使用 Collections.shuffle
方法将列表打乱。最后,我们再次使用 Arrays.toString
方法将打乱后的数组转换为字符串并输出。
上面代码的输出结果可能如下:
Original array: [1, 2, 3, 4, 5]
Shuffled array: [3, 1, 5, 4, 2]
可以看到,原始数组已经被随机打乱了。
对于一个列表,我们同样可以使用 Collections.shuffle
方法来打乱它。下面是一个示例代码:
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class ShuffleListDemo {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
System.out.println("Original list: " + list);
Collections.shuffle(list);
System.out.println("Shuffled list: " + list);
}
}
上面的代码中,我们先创建了一个 ArrayList
类型的列表 list
,并使用 list.add
方法添加了一些元素。然后,我们使用 Collections.shuffle
方法将列表打乱。最后,我们输出原始列表和打乱后的列表。
上面代码的输出结果可能如下:
Original list: [1, 2, 3, 4, 5]
Shuffled list: [3, 1, 5, 2, 4]
在 Java 中,对于数组和列表,我们都可以使用 Collections.shuffle
方法来随机打乱它们。这种操作在很多场景下都非常有用,比如实现洗牌算法、随机选取数据、测试排序算法的性能等。