Collections 类是 Java 中的一个工具类,它包含了许多静态方法,用于操作或返回集合(如 List、Set 和 Map)的视图或副本。这些方法提供了对集合进行排序、搜索、线程安全化等操作的功能。以下是一些常用的 Collections 类方法及其简要说明:
排序和搜索
sort(List list)
对指定列表进行自然排序(即按元素的 compareTo 方法排序)。
列表中的元素必须实现 Comparable 接口。
sort(List list, Comparator<? super T> c)
根据指定的比较器对列表进行排序。
列表中的元素不需要实现 Comparable 接口,但比较器必须提供比较逻辑。
binarySearch(List<? extends Comparable<? super T>> list, T key)
使用自然排序对列表进行二分查找,返回指定元素的索引。
如果元素不存在,返回负值,其绝对值为插入点(即 -(插入点)-1)。
binarySearch(List<? extends T> list, T key, Comparator<? super T> c)
使用指定的比较器对列表进行二分查找,返回指定元素的索引。
填充和替换
fill(List<? super T> list, T obj)
用指定的对象替换指定列表中的所有元素。
replaceAll(List list, UnaryOperator operator)
根据提供的操作函数对列表中的每个元素进行替换。
集合操作
addAll(Collection<? super T> c, T... elements)
将指定元素添加到指定集合中。
disjoint(Collection<?> c1, Collection<?> c2)
如果两个集合没有公共元素,则返回 true。
线程安全
synchronizedList(List list)
返回指定列表支持的同步(线程安全)列表。
synchronizedSet(Set s)
返回指定集合支持的同步(线程安全)集合。
synchronizedMap(Map m)
返回指定映射支持的同步(线程安全)映射。
synchronizedCollection(Collection c)
返回指定集合支持的同步(线程安全)集合。
不可变集合
unmodifiableList(List<? extends T> list)
返回指定列表的不可修改视图。
unmodifiableSet(Set<? extends T> s)
返回指定集合的不可修改视图。
unmodifiableMap(Map<? extends K, ? extends V> m)
返回指定映射的不可修改视图。
unmodifiableCollection(Collection<? extends T> c)
返回指定集合的不可修改视图。
检查和转换
checkedList(List list, Class type)
返回指定列表的动态类型安全视图。
checkedSet(Set s, Class type)
返回指定集合的动态类型安全视图。
checkedMap(Map m, Class keyType, Class valueType)
返回指定映射的动态类型安全视图。
checkedCollection(Collection c, Class type)
返回指定集合的动态类型安全视图。
emptyList()
返回空的不可修改列表。
emptySet()
返回空的不可修改集合。
emptyMap()
返回空的不可修改映射。
singletonList(T o)
返回包含单个元素的不可修改列表。
singletonSet(T o)
返回包含单个元素的不可修改集合。
singletonMap(K key, V value)
返回包含单个映射关系的不可修改映射。