1. 方法列表
还记得 Java 的创建者Arrays
为了方便我们使用数组而编写了一个完整的辅助类吗?
他们为收藏做了同样的事情。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