Java 集合类



简介

Java Collections 类仅包含操作或返回集合的静态方法。以下是关于 Collections 的重要要点:

  • 它包含操作集合的多态算法,“包装器”,它们返回一个由指定集合支持的新集合。

  • 如果提供给它们集合或类对象为空,则此类的所有方法都会抛出 NullPointerException。

类声明

以下是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.util.Object

向整数集合添加多个元素的示例

以下示例演示了 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]
广告