1. 方法列表
Arrays
還記得 Java 的創建者為了方便我們使用數組而編寫了一個完整的輔助類嗎?
他們為收藏做了同樣的事情。Java 有一個java.util.Collections
類,其中包含許多可用於處理集合的方法。這裡只是最有趣的:
方法 | 描述 |
---|---|
|
將元素e1 , e2 , e3 , ... 添加到colls 集合中 |
|
將傳遞的列表中的所有元素替換為obj |
|
返回對象n 的副本列表obj |
|
替換列表中oldVal 的所有實例newVal list |
|
將列表中的所有元素複製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()
中的所有元素。list
obj
代碼 | 控制台輸出 |
---|---|
|
|
Collections.nCopies(int n, T obj)
方法
該方法返回元素副本nCopies()
的列表。請注意,返回的列表是不可變的,這意味著您無法更改它!您只能使用它來讀取值:n
obj
代碼 | 描述 |
---|---|
|
創建一個包含 5 個Hello 字符串的不可變列表創建一個可變列表 list 並用列表中的值填充它immutableList 。控制台輸出:
|
Collections.replaceAll (List<T> list, T oldValue, T newValue)
方法
該方法將集合中所有等於的replaceAll()
元素替換為。list
oldValue
newValue
代碼 | 控制台輸出 |
---|---|
|
|
Collections.copy (List<T> dest, List<T> src)
方法
該copy()
方法將集合中的所有元素複製src
到dest
集合中。
如果dest
集合開始的時間比src
集合長,則集合的剩餘元素dest
將保持不變。
dest
必須至少和src
collection 一樣長(否則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()
次數obj
colls
代碼 | 控制台輸出 |
---|---|
|
|
Collections.binarySearch(Collection<T> colls, T obj)
方法
該方法在集合中binarySearch()
搜索元素。返回找到的元素的索引。如果未找到元素,則返回負數。obj
colls
binarySearch()
方法之前,必須對集合進行排序(使用Collections.sort()
)。
代碼 | 控制台輸出 |
---|---|
|
|
Collections.disjoint(Collection<T> coll1, Collection<T> coll2)
方法
如果傳遞的集合沒有任何共同元素,則該disjoint()
方法返回。true
代碼 | 控制台輸出 |
---|---|
|
|
GO TO FULL VERSION