Java Collections 类

2025 年 4 月 1 日 | 6 分钟阅读

Java Collections 类专门用于静态方法,这些方法操作或返回集合。它继承了 Object 类。

Java Collections 类的重要注意事项如下:

  • Java Collections 类支持操作集合的**多态算法**。
  • 如果提供给 Java Collections 类的集合或类对象为 null,则 Collections 类会抛出 **NullPointerException**。

Collections 类声明

让我们看看 java.util.Collections 类的声明。

序号修饰符 & 类型方法描述
1)static <T> booleanaddAll()用于将指定的所有元素添加到指定的集合中。
2)static <T> Queue<T>asLifoQueue()返回 Deque 作为后进先出(LIFO)队列的视图。
3)static <T> intbinarySearch()在排序列表中搜索指定对象并返回其位置。
4)static <E> Collection<E>checkedCollection()用于返回指定集合的动态类型安全视图。
5)static <E> List<E>checkedList()用于返回指定列表的动态类型安全视图。
6)static <K,V> Map<K,V>checkedMap()用于返回指定映射的动态类型安全视图。
7)static <K,V> NavigableMap<K,V>checkedNavigableMap()用于返回指定的导航映射的动态类型安全视图。
8)static <E> NavigableSet<E>checkedNavigableSet()用于返回指定的导航集(navigable set)的动态类型安全视图。
9)static <E> Queue<E>checkedQueue()用于返回指定队列的动态类型安全视图。
10)static <E> Set<E>checkedSet()用于返回指定集合的动态类型安全视图。
11)static <K,V> SortedMap<K,V>checkedSortedMap()用于返回指定的排序映射(sorted map)的动态类型安全视图。
12)static <E> SortedSet<E>checkedSortedSet()用于返回指定的排序集(sorted set)的动态类型安全视图。
13)static <T> voidcopy()用于将一个列表中的所有元素复制到另一个列表中。
14)static booleandisjoint()如果两个指定的集合没有共同的元素,则返回 true。
15)static <T> Enumeration<T>emptyEnumeration()用于获取一个不包含任何元素的枚举。
16)static <T> Iterator<T>emptyIterator()用于获取一个不包含任何元素的迭代器。
17)static <T> List<T>emptyList()用于获取一个不包含任何元素的列表。
18)static <T> ListIterator<T>emptyListIterator()用于获取一个不包含任何元素的列表迭代器。
19)static <K,V> Map<K,V>emptyMap()返回一个不可变的空映射。
20)static <K,V> NavigableMap<K,V>emptyNavigableMap()返回一个不可变的空导航映射。
21)static <E> NavigableSet<E>emptyNavigableSet()用于获取一个不可变的空导航集。
22)static <T> Set<T>emptySet()用于获取一个不包含任何元素的集合。
23)static <K,V> SortedMap<K,V>emptySortedMap()返回一个不可变的空排序映射。
24)static <E> SortedSet<E>emptySortedSet()用于获取一个不包含任何元素的排序集。
25)static <T> Enumeration<T>enumeration()用于获取指定集合的枚举。
26)static <T> voidfill()用于将指定列表中的所有元素替换为指定的元素。
27)static intfrequency()用于获取指定集合中与指定对象相等的元素的数量。
28)static intindexOfSubList()用于获取指定目标列表在指定源列表中的第一个匹配项的起始位置。如果列表中不存在,则返回 -1。
29)static intlastIndexOfSubList()用于获取指定目标列表在指定源列表中的最后一个匹配项的起始位置。如果列表中不存在,则返回 -1。
30)static <T> ArrayList<T>list()用于获取一个 ArrayList,其中包含由指定枚举返回的元素,并且顺序与枚举返回的顺序一致。
31)static <T extends Object & Comparable<? super T>> Tmax()根据其元素的自然排序,获取给定集合的最大值。
32)static <T extends Object & Comparable<? super T>> Tmin()根据其元素的自然排序,获取给定集合的最小值。
33)static <T> List<T>nCopies()用于获取一个不可变的列表,其中包含指定对象的 n 个副本。
34)static <E> Set<E>newSetFromMap()用于返回一个由指定映射支持的集合。
35)static <T> booleanreplaceAll()用于在列表中将指定值的所有出现替换为另一个指定值。
36)static voidreverse()用于反转指定列表中的元素顺序。
37)static <T> Comparator<T>reverseOrder()用于获取一个比较器,该比较器对实现 Comparable 接口的对象集合施加与自然排序相反的顺序。
38)static voidrotate()用于通过指定的距离旋转指定列表中的元素。
39)static voidshuffle()使用默认的随机性随机重排指定列表的元素。
40)static <T> Set<T>singleton()用于获取一个只包含指定对象的不可变集合。
41)static <T> List<T>singletonList()用于获取一个只包含指定对象的不可变列表。
42)static <K,V> Map<K,V>singletonMap()用于获取一个不可变的映射,仅将指定的键映射到指定的值。
43)static <T extends Comparable<? super T>>voidsort()用于按升序对指定列表集合中的元素进行排序。
44)static voidswap()用于在指定列表中交换指定位置的元素。
45)static <T> Collection<T>synchronizedCollection()用于获取一个由指定集合支持的同步(线程安全)集合。
46)static <T> List<T>synchronizedList()用于获取一个由指定列表支持的同步(线程安全)集合。
47)static <K,V> Map<K,V>synchronizedMap()用于获取一个由指定映射支持的同步(线程安全)映射。
48)static <K,V> NavigableMap<K,V>synchronizedNavigableMap()用于获取一个由指定的导航映射支持的同步(线程安全)导航映射。
49)static <T> NavigableSet<T>synchronizedNavigableSet()用于获取一个由指定的导航集支持的同步(线程安全)导航集。
50)static <T> Set<T>synchronizedSet()用于获取一个由指定的集合支持的同步(线程安全)集合。
51)static <K,V> SortedMap<K,V>synchronizedSortedMap()用于获取一个由指定的排序映射支持的同步(线程安全)排序映射。
52)static <T> SortedSet<T>synchronizedSortedSet()用于获取一个由指定的排序集支持的同步(线程安全)排序集。
53)static <T> Collection<T>unmodifiableCollection()用于获取指定集合的不可修改视图。
54)static <T> List<T>unmodifiableList()用于获取指定列表的不可修改视图。
55)static <K,V> Map<K,V>unmodifiableMap()用于获取指定映射的不可修改视图。
56)static <K,V> NavigableMap<K,V>unmodifiableNavigableMap()用于获取指定的导航映射的不可修改视图。
57)static <T> NavigableSet<T>unmodifiableNavigableSet()用于获取指定的导航集的不可修改视图。
58)static <T> Set<T>unmodifiableSet()用于获取指定集合的不可修改视图。
59)static <K,V> SortedMap<K,V>unmodifiableSortedMap()用于获取指定的排序映射的不可修改视图。
60static <T> SortedSet<T>unmodifiableSortedSet()用于获取指定的排序集的不可修改视图。

Java Collections 示例

示例

编译并运行

输出

Initial collection value:[C, Core Java, Advance Java]
After adding elements collection value:[C, Core Java, Advance Java, Servlet, JSP]
After adding array collection value:[C, Core Java, Advance Java, Servlet, JSP, C#, .Net]

Java Collections 示例:max()

示例

编译并运行

输出

Value of maximum element from the collection: 67

Java Collections 示例:min()

示例

编译并运行

输出

Value of minimum element from the collection: 8                                      

下一主题排序集合