Collection是集合根接口,定义添加、删除等基本操作;2. Collections是工具类,提供排序、同步等静态方法;3. List继承Collection,通过Collections.sort()等方法实现功能增强,二者包名相同但用途不同。

Collection 和 Collections 是 Java 中两个容易混淆但完全不同的概念。它们的作用、定义和使用场景都有显著区别。
1. Collection 是接口,Collections 是工具类
Collection 是一个位于 java.util 包中的接口,它是集合体系的根接口之一。List、Set、Queue 等接口都继承自 Collection,它定义了集合的基本操作,比如添加、删除、遍历元素等。
常见方法包括:
boolean add(E e)boolean remove(Object o)int size()boolean isEmpty()Iteratoriterator()
而 Collections 是一个工具类,同样在 java.util 包中,提供了一系列静态方法来操作或辅助 Collection 类型的对象,比如排序、查找、同步集合等。
立即学习“Java免费学习笔记(深入)”;
2. Collections 提供集合的实用方法
这个类不用于存储数据,而是为集合提供增强功能。例如:
-
Collections.sort(list):对列表进行排序 -
Collections.reverse(list):反转列表元素顺序 -
Collections.max(collection):获取集合中的最大值 -
Collections.synchronizedList(list):将普通 List 转为线程安全的 List -
Collections.unmodifiableList(list):返回只读视图
3. 使用示例对比
假设有一个 ArrayList:
Listlist = new ArrayList<>(); list.add("apple"); list.add("banana"); // 使用 Collection 的方法(由 List 继承) list.size(); list.isEmpty(); // 使用 Collections 工具类的方法 Collections.sort(list); // 排序 Collections.reverse(list); // 反转 String max = Collections.max(list); // 获取最大值
可以看到,Collection 是“能做什么”的规范,而 Collections 是“帮你做得更好”的工具箱。
基本上就这些。记住:接口首字母小写 c 是 Collection,工具类全大写开头的是 Collections,别搞混就行。











