Collections工具类提供静态方法操作集合,如排序(sort)、反转(reverse)、查找(max/min/binarySearch)、替换(replaceAll)、同步(synchronizedList)和只读视图(unmodifiableList),以及填充(fill)、交换(swap)、旋转(rotate)等,所有方法直接通过类名调用,位于java.util包中,不可实例化,合理使用可简化代码、提升效率并支持线程安全与不可变集合处理。

Java中的Collections工具类提供了大量静态方法,用于操作或获取集合的只读视图、排序、查找、同步等。它位于java.util包中,不能被实例化(私有构造方法),所有方法都通过类名直接调用。合理使用Collections可以简化代码并提高开发效率。
排序与反转操作
Collections提供对List进行排序和反转的方法,适用于元素实现Comparable接口或自定义比较器的情况。
常用方法:-
Collections.sort(list):按元素自然顺序排序 -
Collections.sort(list, comparator):按指定比较器排序 -
Collections.reverse(list):反转列表中元素的顺序
示例:
Listwords = Arrays.asList("banana", "apple", "cherry"); Collections.sort(words); // 结果: [apple, banana, cherry] Collections.reverse(words); // 反转后: [cherry, banana, apple]
查找与替换操作
支持在List中查找最大最小值、搜索元素位置、替换元素等。
立即学习“Java免费学习笔记(深入)”;
常用方法:-
Collections.max(collection)和min():返回最大/最小元素 -
Collections.binarySearch(list, key):二分查找(需先排序) -
Collections.replaceAll(list, oldVal, newVal):批量替换相同值
注意:binarySearch要求List已排序,否则结果不可预测。
同步与不可变集合
用于将普通集合转换为线程安全或只读集合,适合多线程环境或防止意外修改。
常用方法:-
Collections.synchronizedList(list):返回线程安全的List -
Collections.unmodifiableList(list):返回只读视图 - 类似方法还有synchronizedSet、unmodifiableMap等
示例:
ListsyncList = Collections.synchronizedList(new ArrayList<>()); List readOnly = Collections.unmodifiableList(syncList); // readOnly.add("test"); // 抛出UnsupportedOperationException
其他实用方法
包括填充、交换、循环移位等便捷操作。
-
Collections.fill(list, value):用指定值填充整个List -
Collections.swap(list, i, j):交换两个索引位置的元素 -
Collections.rotate(list, distance):将元素向右循环移动指定距离
这些方法适合快速初始化或调整数据顺序。
基本上就这些。掌握Collections常用方法能有效减少手动编码,提升集合处理能力。注意部分操作会对原集合产生影响,使用时需确认是否需要保留原始数据。










