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]