java.util.Collections
是 Java 提供的一个工具类,用于操作集合(Collection)和映射(Map)。它提供了一系列静态方法,可以对集合进行排序、查找、替换、填充等操作。
以下是 Collections
类中一些常用的方法:
- 排序:
sort(List list)
:对 List 集合元素进行自然顺序升序排序。sort(List list, Comparator c)
:使用自定义比较器对 List 集合元素进行排序。reverse(List list)
:反转 List 集合中的元素顺序。
- 查找和替换:
binarySearch(List> list, T key)
:在有序 List 中使用二分查找定位元素的索引。binarySearch(List list, T key, Comparator c)
:在有序 List 中使用自定义比较器进行二分查找。replaceAll(List list, T oldVal, T newVal)
:将 List 中出现的所有 oldVal 元素替换为 newVal。
- 同步:
synchronizedCollection(Collection c)
:返回指定集合的同步(线程安全)视图。synchronizedList(List list)
:返回指定列表的同步(线程安全)视图。
- 其他:
shuffle(List list)
:随机打乱 List 中的元素顺序。reverseOrder()
:返回一个比较器,用于进行逆序排序。
import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Main { public static void main(String[] args) { List<Integer> numbers = new ArrayList<>(); numbers.add(5); numbers.add(2); numbers.add(7); numbers.add(1); numbers.add(9); // 排序 Collections.sort(numbers); System.out.println("升序排序:" + numbers); // 反转 Collections.reverse(numbers); System.out.println("反转排序:" + numbers); // 查找和替换 int index = Collections.binarySearch(numbers, 7); System.out.println("元素 7 的索引:" + index); Collections.replaceAll(numbers, 7, 3); System.out.println("将元素 7 替换为 3:" + numbers); // 同步 List<Integer> synchronizedList = Collections.synchronizedList(numbers); synchronized (synchronizedList) { // 在此代码块中对 synchronizedList 进行安全操作 } } }
输出结果:
升序排序:[1, 2, 5, 7, 9] 反转排序:[9, 7, 5, 2, 1] 元素 7 的索引:1 将元素 7 替换为 3:[9, 3, 5, 2, 1]