collections.shuffle

 在 Java 中,Collections.shuffle() 方法用于随机打乱(重新排列)一个列表中的元素。该方法属于 java.util.Collections 类,通常用于对 List 类型的集合进行随机排序。

语法:

Collections.shuffle(List<?> list)
  • 参数list – 需要打乱顺序的 List 集合。
  • 返回值:此方法没有返回值,它直接修改传入的 List 集合。

例子:

import java.util.*;
public class ShuffleExample {
public static void main(String[] args) {
// 创建一个包含 1 到 10 的列表
List<Integer> numbers = new ArrayList<>();
for (int i = 1; i <= 10; i++) {
numbers.add(i);
}
// 打印原始列表
System.out.println("原始列表: " + numbers);
// 随机打乱列表
Collections.shuffle(numbers);
// 打印打乱后的列表
System.out.println("打乱后的列表: " + numbers);
}
}

输出:

原始列表: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
打乱后的列表: [3, 1, 10, 5, 7, 9, 4, 6, 2, 8]

额外功能:使用随机源

Collections.shuffle() 还可以接受一个额外的 Random 对象参数,用来提供自定义的随机源,这可以让你控制随机数生成的种子,进而影响打乱的结果。

import java.util.*;
public class ShuffleWithRandom {
public static void main(String[] args) {
List<Integer> numbers = new ArrayList<>();
for (int i = 1; i <= 10; i++) {
numbers.add(i);
}
// 使用自定义的 Random 对象
Random random = new Random(42); // 固定种子,保证每次执行结果相同
Collections.shuffle(numbers, random);
System.out.println("打乱后的列表: " + numbers);
}
}

说明:

  • Collections.shuffle() 是一个 非稳定排序,意味着它不会保留元素的原始顺序。每次调用它都会给列表带来一个新的、随机的顺序。
  • 如果你希望按照特定的方式进行“排序”或是更复杂的乱序操作,可以考虑使用 Comparator 或自定义排序方法。

有其他问题或需要更多关于 Collections 类的帮助吗?

https://www.52runoob.com/archives/4499

评论

此博客中的热门博文

Flink SQL 详解:流批一体处理的强大工具

利用ArcScene制作三维图

decode函数