Java Collections.shuffle()方法案例详解
在 Java 中,通常我们需要对数据集合进行一些元素的顺序处理,例如给一个列表的元素混淆顺序。Java Collections Framework 提供了许多工具类来帮助我们处理各种集合对象。其中,Collections 类拥有许多静态方法,其中 shuffle() 方法就是一种非常有用的工具方法,本文将详细介绍该方法的使用。
方法定义和描述
Collections.shuffle() 方法用于将集合中的元素按照随机顺序打乱,从而实现列表的乱序。其具体定义和描述如下:
public static void shuffle(List<?> list)
参数:
- list: 需要打乱的列表。
返回值: 无。
说明: 需要注意的是,因为方法是通过随机数实现打乱的,因此每一次方法的运行结果都是随机的,但是每个元素被打乱的概率是相等的。
示例说明
下面给出两个示例,展示 shuffle() 方法的使用。
示例一
请看下面代码:
import java.util.Arrays;
import java.util.Collections;
public class ShuffleDemo {
public static void main(String[] args) {
String[] arr = {"a", "b", "c", "d", "e"};
Collections.shuffle(Arrays.asList(arr));
System.out.println(Arrays.toString(arr));
}
}
这个示例首先创建了一个包含了元素“a”、“b”、“c”、“d”、“e”的字符串数组 arr。然后,通过 Arrays.asList() 方法将该数组转换成一个列表 list,并将该列表传递给 shuffle() 方法进行打乱。最后,打印出打乱后的结果。运行示例可以得出以下输出:
[e, c, a, b, d]
可以看到,方法打乱了原本的顺序,使得最终结果变成了乱序列表。
示例二
请看下面代码:
import java.util.ArrayList;
import java.util.Collections;
public class ShuffleDemo2 {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
for (int i = 1; i <= 10; i++) {
list.add(i);
}
System.out.println("原始列表:" + list);
for (int i = 0; i < 3; i++) {
Collections.shuffle(list);
System.out.println("第" + (i+1) + "次打乱后的列表:" + list);
}
}
}
这个示例创建了一个包含了数字 1 到 10 的 ArrayList,然后在一个循环中多次调用 shuffle() 方法打乱这个列表,打印出每次打乱后的结果。运行示例可以得到以下输出:
原始列表:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
第1次打乱后的列表:[2, 5, 7, 1, 4, 6, 10, 9, 8, 3]
第2次打乱后的列表:[6, 2, 10, 3, 9, 1, 5, 4, 7, 8]
第3次打乱后的列表:[10, 6, 8, 5, 4, 1, 3, 9, 2, 7]
可以看到,shuffle() 方法每次都会打乱列表元素的顺序,而且每一次打乱的结果都是随机的。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java Collections.shuffle()方法案例详解 - Python技术站