Collections类

Java.util.Collections 是一个集合工具类,用于操作 List、Set、Map 等集合。它提供了一系列的、用于操作集合中的元素的静态方法。需要特别注意的是,Collections 类不能通过 new 关键字创建对象,这是因为 Collections 类的构造方法被私有化处理了。因此,直接通过类名即可调用 Collections 类的静态方法。

Collections 和 Collection 虽然只有一个字母的区别,却是两个完全不同的概念。Collections 是一个具有属性和静态方法的工具类,Collection 是一个含有 List 接口及其实现类和 Set 接口及其实现类的接口。

Collections 类的常用方法及其说明如表12.6所示。

image 2024 03 04 15 11 01 550
Figure 1. 表12.6 Collections类的常用方法及其说明

下面以 shuffle() 方法为例,演示如何使用 Collections 类的静态方法。

【例12.7】打乱List集合中元素的顺序(实例位置:资源包\TM\sl\12\7)

通过 LinkedList 类实现 List 接口,创建一个 List 集合。向 List 集合中添加 12、34、56、78 和 90 等整数后,通过遍历集合把它们输出到控制台上。使用 shuffle() 方法打乱集合中元素的原来顺序后,通过遍历集合把打乱顺序后的各个元素输出到控制台上。代码如下:

import java.util.Collections;import java.util.LinkedList;public class Test {
    public static void main(String[] args) {
        // 创建一个 List 集合
        List<Integer> list = new LinkedList<>();
        // 向 List 集合中添加元素
        list.add(12);
        list.add(34);
        list.add(56);
        list.add(78);
        list.add(90);
        // 使用 foreach 遍历集合
        for (Integer integer : list) {
            System.out.print(integer + "\t");
        }
        System.out.println();  // 换行
        Collections.shuffle(list);   // 打乱顺序
        System.out.println("=======打乱顺序后的结果=======");
        // 使用 foreach 遍历打乱元素顺序的集合
        for (Integer integer : list) {
            System.out.print(integer + "\t");
        }
    }
}

运行结果如图12.10所示

image 2024 03 04 15 16 54 554
Figure 2. 图12.10 例12.7的运行结果

shuffle() 方法的作用是随机打乱集合中元素的原来顺序,并且 shuffle() 方法只能作用于 List 集合中。