Collections类中的shuffle方法用于将指定的List按随机顺序重新排列。下面是shuffle方法的用法:
List<Integer> numbers = new ArrayList<>();
numbers.add(1);
numbers.add(2);
numbers.add(3);
numbers.add(4);
numbers.add(5);
Collections.shuffle(numbers);
System.out.println(numbers);
输出结果可能为:[4, 2, 1, 5, 3]。每次运行结果都可能不同,因为shuffle方法会随机重新排列List中的元素。
List<Integer> numbers = new ArrayList<>();
numbers.add(1);
numbers.add(2);
numbers.add(3);
numbers.add(4);
numbers.add(5);
Random random = new Random();
Collections.shuffle(numbers, random);
System.out.println(numbers);
在shuffle方法中,可以传递一个随机数生成器参数,以便在重新排列元素时使用自定义的随机数生成器。这样可以控制随机性。
注意:shuffle方法只能用于实现了RandomAccess接口的List。对于LinkedList等非RandomAccess的List,shuffle方法可能会导致性能下降。