“我在這裡。”

“我在這裡等你很久了。”

“我希望如此。那我們繼續吧。”

“我將向您介紹一個超級全功能的集合實用程序類。”

“我已經興奮得全身發抖了。”

“太好了。那麼讓我們開始吧。以下是 Collections 類的方法:”

代碼 解釋
boolean addAll(Collection<? super T> c, T... elements)
將傳遞的元素添加到傳遞的集合中。
這個方法可以像這樣方便地調用:Collections.addList(list, 10,11,12,13,14,15)
Queue<T> asLifoQueue(Deque<T> deque)
返回一個由雙端隊列組成的“普通隊列”。
int binarySearch(List<? extends T> list, T key, Comparator<? super T> c)
對列表中的關鍵元素執行二進制搜索。
列表必須排序。
您可以指定一個比較器來比較元素。
Collection<E> checkedCollection(Collection<E> c, Class<E> type)
檢查集合 c 的所有元素是否屬於特定類型。
List、Map、Set 和 SortedSet 存在類似的方法。
void copy(List<? super T> dest, List<? extends T> src)
將 src 列表複製到 dest 列表。
boolean disjoint(Collection<?> c1, Collection<?> c2)
檢查集合不包含公共元素
void fill(List<? super T> list, T obj)
用元素 obj 填充列表
int frequency(Collection<?> c, Object o)
計算對象 o 在集合 c 中存在的次數
int indexOfSubList(List<?> source, List<?> target)
確定目標列表在源列表中第一次出現的索引。
原理類似於String.indexOf("some string")
int lastIndexOfSubList(List<?> source, List<?> target)
確定目標列表在源列表中最後一次出現的索引。
類似於 String.lastIndexOf("some string")
max(Collection<? extends T> coll)
搜索集合中的最大數量/值。
我們如何找到 6 個數字中的最大值?
Collections.max(Arrays.asList(51, 42, 33, 24, 15, 6));
min(Collection<? extends T> coll)
在集合中搜索最小值。
List<T>nCopies(int n, To)
創建一個虛擬集合,其中 o 元素出現 n 次。
boolean replaceAll(List<T> list, T oldVal, T newVal)
用 newVal 元素替換列表中的所有 oldVal 元素
void reverse(List<?> list)
反轉列表。
void shuffle(List<?> list)
隨機打亂列表的元素。
List<T>singletonList(To)
返回一個由一個傳遞的元素組成的不可變列表。
Map、Set 和 SortedSet 存在類似的方法。
void sort(List<T> list)
按升序對列表進行排序。
void swap(List<?> list, int i, int j)
交換列表的元素
Collection<T>synchronizedCollection(Collection<T> c)
將此集合包裝在一個同步的副本中。
List、Map、Set 和 SortedSet 存在類似的方法。

“哇!是的,這是一個完整的武器庫,我幾乎沒有使用過它。”

“其實,我今天的課就到這裡了。”

“看看這些方法,找出你最有可能使用的方法。”

“或者更好的是,研究它們。它們會對你有用。”

“謝謝你,Rishi。我去學習了。”