📢 Java Collections shuffle() 是一个Java Collections 类方法,通过随机化排列指定的列表元素来工作。根据其参数的不同,可以划分为两种不同类型的Java shuffle():
shuffle(list)方法使用默认的随机性对指定的列表元素进行随机重新排序。shuffle(list, random)方法使用指定的随机性对指定的列表元素进行随机重新排序。shuffle()方法的声明如下:public static void shuffle(List<?> list)
public static void shuffle(List<?> list, Random random)
| 参数 | 描述 | 可用性 |
|---|---|---|
| list | 将要被洗牌的列表 | 必须的 |
| random | 随机的来源,用于洗牌列表 | 必须的 |
shuffle() 方法:不返回任何值。UnsupportedOperationException 如果指定的列表或其列表迭代器不支持set操作,此方法将引发异常。
import java.util.*;
public class shuffle_list_integer {
public static void main(String[] args) {
List<Integer> list = Arrays.asList(1,2,3,4,5,6);
System.out.println("Before shuffle: " + list);
Collections.shuffle(list);
System.out.println("After shuffle (default): " + list);
list = Arrays.asList(1,2,3,4,5,6);
Collections.shuffle(list, new Random(10));
System.out.println("After shuffle (new Random(10)): " + list);
list = Arrays.asList(1,2,3,4,5,6);
Collections.shuffle(list, new Random(100));
System.out.println("After shuffle (new Random(100)): " + list);
list = Arrays.asList(1,2,3,4,5,6);
Collections.shuffle(list, new Random(100));
System.out.println("After shuffle (new Random(100)): " + list);
}
}
Before shuffle: [1, 2, 3, 4, 5, 6]
After shuffle (default): [4, 5, 1, 2, 6, 3]
After shuffle (new Random(10)): [6, 3, 5, 2, 1, 4]
After shuffle (new Random(100)): [3, 6, 4, 5, 1, 2]
After shuffle (new Random(100)): [3, 6, 4, 5, 1, 2]
import java.util.*;
public class shuffle_list_string {
public static void main(String[] args) {
List<String> list = Arrays.asList("Apple", "Banana", "Orange", "Watermelon", "Cherry", "Peach");
System.out.println("Before shuffle: " + list);
Collections.shuffle(list);
System.out.println("After shuffle (default): " + list);
list = Arrays.asList("Apple", "Banana", "Orange", "Watermelon", "Cherry", "Peach");
Collections.shuffle(list, new Random(10));
System.out.println("After shuffle (new Random(10)): " + list);
list = Arrays.asList("Apple", "Banana", "Orange", "Watermelon", "Cherry", "Peach");
Collections.shuffle(list, new Random(100));
System.out.println("After shuffle (new Random(100)): " + list);
list = Arrays.asList("Apple", "Banana", "Orange", "Watermelon", "Cherry", "Peach");
Collections.shuffle(list, new Random(100));
System.out.println("After shuffle (new Random(100)): " + list);
}
}
Before shuffle: [Apple, Banana, Orange, Watermelon, Cherry, Peach]
After shuffle (default): [Banana, Watermelon, Peach, Orange, Apple, Cherry]
After shuffle (new Random(10)): [Peach, Orange, Cherry, Banana, Apple, Watermelon]
After shuffle (new Random(100)): [Orange, Peach, Watermelon, Cherry, Apple, Banana]
After shuffle (new Random(100)): [Orange, Peach, Watermelon, Cherry, Apple, Banana]
import java.util.*;
public class shuffle_linkedlist_integer {
public static void main(String[] args) {
LinkedList<Integer> list = new LinkedList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
list.add(6);
System.out.println("Before shuffle: " + list);
Collections.shuffle(list);
System.out.println("After shuffle (default): " + list);
list.clear();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
list.add(6);
Collections.shuffle(list, new Random(10));
System.out.println("After shuffle (new Random(10)): " + list);
list.clear();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
list.add(6);
Collections.shuffle(list, new Random(100));
System.out.println("After shuffle (new Random(100)): " + list);
list.clear();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
list.add(6);
Collections.shuffle(list, new Random(100));
System.out.println("After shuffle (new Random(100)): " + list);
}
}
Before shuffle: [1, 2, 3, 4, 5, 6]
After shuffle (default): [4, 1, 3, 2, 5, 6]
After shuffle (new Random(10)): [6, 3, 5, 2, 1, 4]
After shuffle (new Random(100)): [3, 6, 4, 5, 1, 2]
After shuffle (new Random(100)): [3, 6, 4, 5, 1, 2]
import java.util.*;
public class shuffle_linkedlist_string {
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<String>();
list.add("Apple");
list.add("Banana");
list.add("Orange");
list.add("Watermelon");
list.add("Cherry");
list.add("Peach");
System.out.println("Before shuffle: " + list);
Collections.shuffle(list);
System.out.println("After shuffle (default): " + list);
list.clear();
list.add("Apple");
list.add("Banana");
list.add("Orange");
list.add("Watermelon");
list.add("Cherry");
list.add("Peach");
Collections.shuffle(list, new Random(10));
System.out.println("After shuffle (new Random(10)): " + list);
list.clear();
list.add("Apple");
list.add("Banana");
list.add("Orange");
list.add("Watermelon");
list.add("Cherry");
list.add("Peach");
Collections.shuffle(list, new Random(100));
System.out.println("After shuffle (new Random(100)): " + list);
list.clear();
list.add("Apple");
list.add("Banana");
list.add("Orange");
list.add("Watermelon");
list.add("Cherry");
list.add("Peach");
Collections.shuffle(list, new Random(100));
System.out.println("After shuffle (new Random(100)): " + list);
}
}
Before shuffle: [Apple, Banana, Orange, Watermelon, Cherry, Peach]
After shuffle (default): [Peach, Banana, Cherry, Watermelon, Orange, Apple]
After shuffle (new Random(10)): [Peach, Orange, Cherry, Banana, Apple, Watermelon]
After shuffle (new Random(100)): [Orange, Peach, Watermelon, Cherry, Apple, Banana]
After shuffle (new Random(100)): [Orange, Peach, Watermelon, Cherry, Apple, Banana]

