Java 集合类
简介
Java Collections 类仅包含操作或返回集合的静态方法。以下是关于 Collections 的重要要点:
类声明
以下是java.util.Collections 类的声明:
public class Collections
extends Object
字段
以下是java.util.Collections 类的字段:
static List EMPTY_LIST - 这是空列表(不可变)。
static Map EMPTY_MAP - 这是空映射(不可变)。
static Set EMPTY_SET - 这是空集(不可变)。
类方法
序号 |
方法及描述 |
1 |
static <T> boolean addAll(Collection<? super T> c, T... elements)
此方法将所有指定的元素添加到指定的集合中。 |
2 |
static <T> Queue<T> asLifoQueue(Deque<T> deque)
此方法将 Deque 的视图作为后进先出 (Lifo) 队列返回。 |
3 |
static <T> int binarySearch(List<? extends Comparable<? super T>> list, T key)
此方法使用二分搜索算法在指定的列表中搜索指定的对象。 |
4 |
static <E> Collection<E> checkedCollection(Collection<E> c, Class<E> type)
此方法返回指定集合的动态类型安全视图。 |
5 |
static <E> List<E> checkedList(List<E> list, Class<E> type)
此方法返回指定列表的动态类型安全视图。 |
6 |
static <K,V> Map<K,V> checkedMap(Map<K,V> m, Class<K> keyType, Class<V> valueType)
此方法返回指定映射的动态类型安全视图。 |
7 |
static <K,V> Navigable<K,V> checkedNavigableMap(Navigable<K,V> m, Class<K> keyType, Class<V> valueType)
此方法返回指定可导航映射的动态类型安全视图。 |
8 |
static <E> NavigableSet<E> checkedNavigableSet(NavigableSet<E> s, Class<E> type)
此方法返回指定可导航集的动态类型安全视图。 |
9 |
static <E> Queue<E> checkedQueue(Queue<E> s, Class<E> type)
此方法返回指定队列的动态类型安全视图。 |
10 |
static <E> Set<E> checkedSet(Set<E> s, Class<E> type)
此方法返回指定集的动态类型安全视图。 |
11 |
static <K,V> SortedMap<K,V> checkedSortedMap(SortedMap<K,V> m, Class<K> keyType, Class<V> valueType)
此方法返回指定排序映射的动态类型安全视图。 |
12 |
static <E> SortedSet<E>checkedSortedSet(SortedSet<E> s, Class<E> type)
此方法返回指定排序集的动态类型安全视图。 |
13 |
static <T> void copy(List<? super T> dest, List<? extends T> src)
此方法将一个列表中的所有元素复制到另一个列表中。 |
14 |
static boolean disjoint(Collection<?> c1, Collection<?> c2)
如果两个指定的集合没有共同的元素,则此方法返回 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 <T> NavigableSet<T> emptyNavigableSet()
此方法返回空可导航集(不可变)。 |
22 |
static <T> Set<T> emptySet()
此方法返回空集(不可变)。 |
23 |
static <K,V> SortedMap<K,V> emptySortedMap()
此方法返回空排序映射(不可变)。 |
24 |
static <T> SortedSet<T> emptySortedSet()
此方法返回空排序集(不可变)。 |
25 |
static <T> Enumeration<T> enumeration(Collection<T> c)
此方法返回指定集合的枚举。 |
26 |
static <T> void fill(List<? super T> list, T obj)
此方法将指定列表的所有元素替换为指定的元素。 |
27 |
static int frequency(Collection<?> c, Object o)
此方法返回指定集合中等于指定对象的元素数。 |
28 |
static int indexOfSubList(List<?> source, List<?> target)
此方法返回指定目标列表在指定源列表中第一次出现的起始位置,如果不存在则返回 -1。 |
29 |
static int lastIndexOfSubList(List<?> source, List<?> target)
此方法返回指定目标列表在指定源列表中最后一次出现的起始位置,如果不存在则返回 -1。 |
30 |
static <T> ArrayList<T> list(Enumeration<T> e)
此方法返回一个数组列表,其中包含指定枚举返回的元素,其顺序与枚举返回的顺序相同。 |
31 |
static <T extends Object & Comparable<? super T> >T max(Collection<? extends T> coll)
此方法根据其元素的自然顺序返回给定集合的最大元素。 |
32 |
static <T extends Object & Comparable<? super T>>T min(Collection<? extends T> coll)
此方法根据其元素的自然顺序返回给定集合的最小元素。 |
33 |
static <T> List<T> nCopies(int n, T o)
此方法返回一个不可变列表,其中包含指定对象的 n 个副本。 |
34 |
static <E> Set<E> newSetFromMap(Map<E,Boolean> map)
此方法返回一个由指定映射支持的集。 |
35 |
static <T> boolean replaceAll(List<T> list, T oldVal, T newVal)
此方法将列表中一个指定值的所有出现替换为另一个。 |
36 |
static void reverse(List<?> list)
此方法反转指定列表中元素的顺序。 |
37 |
static <T> Comparator<T> reverseOrder()
此方法返回一个比较器,该比较器对实现 Comparable 接口的对象集合施加自然顺序的反向。 |
38 |
static void rotate(List<?> list, int distance)
此方法按指定的距离旋转指定列表中的元素。 |
39 |
static void shuffle(List<?> list)
此方法使用默认的随机数源随机排列指定的列表。 |
40 |
static <T> Set<T> singleton(T o)
此方法返回一个仅包含指定对象的不可变集。 |
41 |
static <T> List<T> singletonList(T o)
此方法返回一个仅包含指定对象的不可变列表。 |
42 |
static <K,V> Map<K,V> singletonMap(K key, V value)
此方法返回一个不可变映射,仅将指定的键映射到指定的值。 |
43 |
static <T extends Comparable<? super T>> void sort(List<T> list)
此方法根据其元素的自然顺序将指定的列表排序为升序。 |
44 |
static void swap(List<?> list, int i, int j)
此方法交换指定列表中指定位置处的元素。 |
45 |
static <T> Collection<T> synchronizedCollection(Collection<T> c)
此方法返回一个由指定集合支持的同步(线程安全)集合。 |
46 |
static <T> List<T> synchronizedList(List<T> list)
此方法返回一个由指定列表支持的同步(线程安全)列表。 |
47 |
static <K,V> Map<K,V> synchronizedMap(Map<K,V> m)
此方法返回一个由指定映射支持的同步(线程安全)映射。 |
48 |
static <K,V> NavigableMap<K,V> synchronizedNavigableMap()
此方法返回同步的可导航映射(不可变)。 |
49 |
static <T> NavigableSet<T> synchronizedNavigableSet()
此方法返回同步的可导航集(不可变)。 |
50 |
static <T> Set<T> synchronizedSet(Set<T> s)
此方法返回一个由指定集支持的同步(线程安全)集。 |
51 |
static <K,V> SortedMap<K,V> synchronizedSortedMap(SortedMap<K,V> m)
此方法返回一个由指定排序映射支持的同步(线程安全)排序映射。 |
52 |
static <T> SortedSet<T> synchronizedSortedSet(SortedSet<T> s)
此方法返回一个由指定排序集支持的同步(线程安全)排序集。 |
53 |
static <T> Collection<T> unmodifiableCollection(Collection<? extends T> c)
此方法返回指定集合的不可修改视图。 |
54 |
static <T> List<T> unmodifiableList(List<? extends T> list)
此方法返回指定列表的不可修改视图。 |
55 |
static <K,V> Map<K,V> unmodifiableMap(Map<? extends K,? extends V> m)
此方法返回指定映射的不可修改视图。 |
56 |
static <K,V> NavigableMap<K,V> unmodifiableNavigableMap()
此方法返回不可修改的可导航映射(不可变)。 |
57 |
static <T> NavigableSet<T> unmodifiableNavigableSet()
此方法返回不可修改的可导航集(不可变)。 |
58 |
static <T> Set<T> unmodifiableSet(Set<? extends T> s)
此方法返回指定集的不可修改视图。 |
59 |
static <K,V> SortedMap<K,V> unmodifiableSortedMap(SortedMap<K,? extends V> m)
此方法返回指定排序映射的不可修改视图。 |
60 |
static <T> SortedSet<T> unmodifiableSortedSet(SortedSet<T> s)
此方法返回指定排序集的不可修改视图。 |
继承的方法
此类继承自以下类的方法:
向整数集合添加多个元素的示例
以下示例演示了 Java Collection addAll(Collection,T... ) 方法的使用,以添加整数集合。我们创建了一个包含一些整数的 List 对象,并打印了原始列表。使用 addAll(collection, T...) 方法,我们向列表中添加了更多元素,然后打印了更新后的列表。
package com.tutorialspoint;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class CollectionsDemo {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>(Arrays.asList(1,2,3,4,5));
System.out.println("Initial collection value: " + list);
// add values to this collection
Collections.addAll(list, 6, 7, 8);
System.out.println("Final collection value: "+list);
}
}
输出
让我们编译并运行上述程序,这将产生以下结果:
Initial collection value: [1, 2, 3, 4, 5]
Final collection value: [1, 2, 3, 4, 5, 6, 7, 8]