“我在这里。”

“我在这里等你很久了。”

“我希望如此。那我们继续吧。”

“我将向您介绍一个超级全功能的集合实用程序类。”

“我已经激动得浑身发抖了。”

“太好了。那么让我们开始吧。以下是 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。我去学习了。”