首页 > 编程笔记 > Java笔记 阅读:9

Java中的Collections集合工具类(附带实例)

Java.util.Collections 是一个集合工具类,用于操作 List、Set、Map 等集合。它提供了一系列的、用于操作集合中的元素的静态方法。

需要特别注意的是,Collections 类不能通过 new 关键字创建对象,这是因为 Collections 类的构造方法被私有化处理了。因此,直接通过类名即可调用 Collections 类的静态方法。

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

Collections 类的常用方法及其说明如下表所示:

表:Collections 类的常用方法及其说明
方法 功能描述
static void shuffle(List) 打乱排序
static <T> boolean addAll(Collection<T> c, T... elements) 添加一些元素
static <T> void sort(List<T> list, Comparator<? super T>) 排序,将集合中元素按照指定规则进行排序
static <T extends Comparable<? super T>> void sort(List<T> list) 排序,将集合中元素按照默认规则进行排序
static int binarySearch(List list, Object key) 查找,使用二分搜索法搜索指定的 List 集合,以获得指定对象在 List 集合中的索引。如果要使该方法可以正常工作,则必须保证 List 中的元素已经处于有序状态
static void copy(List<? super T> dest,List<? extends T> src) 复制,用于将指定集合中的所有元素复制到另一个集合中
static void replaceAll() 替换,替换集合中所有的旧元素为新元素

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

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

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  34  56  78  90 
===========打乱顺序后的结果===========
78  12  34  56  90 
注意,shuffle() 方法的作用是随机打乱集合中元素的原来顺序,并且 shuffle() 方法只能作用于 List 集合中。

相关文章