1. 方法列表
Arrays還記得 Java 的創建者為了方便我們使用數組而編寫了一個完整的輔助類嗎?
他們為收藏做了同樣的事情。Java 有一個java.util.Collections類,其中包含許多可用於處理集合的方法。這裡只是最有趣的:
| 方法 | 描述 |
|---|---|
|
將元素e1, e2, e3, ... 添加到colls集合中 |
|
將傳遞的列表中的所有元素替換為obj |
|
返回對象n的副本列表obj |
|
替換列表中oldVal的所有實例newVallist |
|
將列表中的所有元素複製src到列表dest中 |
|
反轉列表。 |
|
按升序對列表進行排序 |
|
list按n元素循環移動列表的元素 |
|
隨機打亂列表中的元素 |
|
colls查找集合中的最小元素 |
|
colls查找集合中的最大元素 |
|
確定元素在集合obj中出現的次數colls |
|
在排序列表中搜索key並返回相應的索引。 |
|
true如果集合沒有共同的元素則返回 |
許多這些方法本身並不使用ArrayList,HashSet和HashMap類,而是使用相應的接口:Collection<T>, List<T>, Map<K, V>。
這不是問題:如果一個方法接受一個List<T>,您總是可以將一個 傳遞給它ArrayList<Integer>,但賦值運算符在相反的方向不起作用。
2.創建和修改集合
Collections.addAll(Collection<T> colls, T e1, T e2, T e3, ...)方法
該addAll()方法將元素e1, e2, e3, ... 添加到colls集合中 可以傳遞任意數量的元素。
| 代碼 | 控制台輸出 |
|---|---|
|
|
Collections.fill(List<T> list, T obj)方法
該方法用該元素替換集合fill()中的所有元素。listobj
| 代碼 | 控制台輸出 |
|---|---|
|
|
Collections.nCopies(int n, T obj)方法
該方法返回元素副本nCopies()的列表。請注意,返回的列表是不可變的,這意味著您無法更改它!您只能使用它來讀取值:nobj
| 代碼 | 描述 |
|---|---|
|
創建一個包含 5 個Hello字符串的不可變列表創建一個可變列表 list並用列表中的值填充它immutableList。控制台輸出: |
Collections.replaceAll (List<T> list, T oldValue, T newValue)方法
該方法將集合中所有等於的replaceAll()元素替換為。listoldValuenewValue
| 代碼 | 控制台輸出 |
|---|---|
|
|
Collections.copy (List<T> dest, List<T> src)方法
該copy()方法將集合中的所有元素複製src到dest集合中。
如果dest集合開始的時間比src集合長,則集合的剩餘元素dest將保持不變。
dest必須至少和
srccollection 一樣長(否則
IndexOutOfBoundsException會拋出 an)。
| 代碼 | 控制台輸出 |
|---|---|
|
|
3.元素的順序
Collections.reverse(List<T> list)方法
該reverse()方法顛倒傳遞列表中元素的順序。
| 代碼 | 控制台輸出 |
|---|---|
|
|
Collections.sort(List<T> list)方法
該sort()方法按升序對傳遞的列表進行排序。
| 代碼 | 控制台輸出 |
|---|---|
|
|
Collections.rotate(List<T> list, int distance)方法
該rotate()方法循環地將傳遞的列表的元素distance向前移動位置。
| 代碼 | 控制台輸出 |
|---|---|
|
|
Collections.shuffle(List<T> list)方法
該shuffle()方法隨機打亂傳遞列表的所有元素。每次的結果都不一樣。
| 代碼 | 控制台輸出 |
|---|---|
|
|
4. 在集合中查找元素
Collections.min(Collection<T> colls)方法
該min()方法返回集合中的最小元素。
| 代碼 | 控制台輸出 |
|---|---|
|
|
Collections.max(Collection<T> colls)方法
該max()方法返回集合中的最大元素。
| 代碼 | 控制台輸出 |
|---|---|
|
|
Collections.frequency(Collection<T> colls, T obj)方法
該方法統計元素在集合中出現的frequency()次數objcolls
| 代碼 | 控制台輸出 |
|---|---|
|
|
Collections.binarySearch(Collection<T> colls, T obj)方法
該方法在集合中binarySearch()搜索元素。返回找到的元素的索引。如果未找到元素,則返回負數。objcolls
binarySearch()方法之前,必須對集合進行排序(使用
Collections.sort())。
| 代碼 | 控制台輸出 |
|---|---|
|
|
Collections.disjoint(Collection<T> coll1, Collection<T> coll2)方法
如果傳遞的集合沒有任何共同元素,則該disjoint()方法返回。true
| 代碼 | 控制台輸出 |
|---|---|
|
|
GO TO FULL VERSION