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