Java中的Collections集合工具类(附带实例)
Java.util.Collections 是一个集合工具类,用于操作 List、Set、Map 等集合。它提供了一系列的、用于操作集合中的元素的静态方法。
需要特别注意的是,Collections 类不能通过 new 关键字创建对象,这是因为 Collections 类的构造方法被私有化处理了。因此,直接通过类名即可调用 Collections 类的静态方法。
Collections 和 Collection 虽然只有一个字母的区别,却是两个完全不同的概念。Collections 是一个具有属性和静态方法的工具类,Collection 是一个含有 List 接口及其实现类和 Set 接口及其实现类的接口。
Collections 类的常用方法及其说明如下表所示:
下面以 shuffle() 方法为例,演示如何使用 Collections 类的静态方法。
【实例】打乱 List 集合中元素的顺序。通过 LinkedList 类实现 List 接口,创建一个 List 集合。向 List 集合中添加 12、34、56、78 和 90 等整数后,通过遍历集合把它们输出到控制台上。使用 shuffle() 方法打乱集合中元素的原来顺序后,通过遍历集合把打乱顺序后的各个元素输出到控制台上。代码如下:
需要特别注意的是,Collections 类不能通过 new 关键字创建对象,这是因为 Collections 类的构造方法被私有化处理了。因此,直接通过类名即可调用 Collections 类的静态方法。
Collections 和 Collection 虽然只有一个字母的区别,却是两个完全不同的概念。Collections 是一个具有属性和静态方法的工具类,Collection 是一个含有 List 接口及其实现类和 Set 接口及其实现类的接口。
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 集合中。