explain for java.util.Collections(JDK 1.8)
list
排序- 实体需要实现
Comparable
接口
list
排序- 排序规则器
Comparator
List
实现了RandomAccess
接口或者数量小于5000
按照下标查找,其他情况按照迭代器查找。
- 与
binarySearch(List<? extends Comparable<? super T>> list, T key)
不同的是是否有实现排序规则
list
反序List
实现了RandomAccess
接口或者数量小于18
,循环一半去调换位置的值, 其他情况使用迭代器。
- 乱序
list
List
实现了RandomAccess
接口或者数量小于5
,位置替换,其他情况使用迭代器。
- 同
shuffle(List<?> list)
增加了参数Random
- 调换元素值的位置
- 填充
List
List
实现了RandomAccess
接口或者数量小于25
直接填充,其他情况使用迭代器。
- 拷贝一个
List
的元素到另外一个List
- 源
List
长度补得大于目标List
长度 - 源
List
长度少于10
或者 源List
和 目标List
都实现了RandomAccess
接口,使用下标直接拷贝设置,其他情况使用迭代器
- 查询集合内最小值
- 查询集合内最小值
- 自己实现了比较器
- 查询集合内最大值
- 查询集合内最大值
- 自己实现了比较器
- 将
List
向右移动distance
个位置,负数向左移动. List
都实现了RandomAccess
接口或者长度小于100
,使用硬编码的设置位置的值.其他的递归式的调换,类似归并排序.
- 替换
List
内容为新的值 List
长度小于11
或者实现了RandomAccess
接口,使用下标去查找设置,其他按照迭代器设置.
- 目标
List
是否是 源List
的子集,返回子集的下标. - 源
List
长度少于35
, 或者 目标List
和 源List
都实现了RandomAccess
接口, 采用下标形式遍历,其他采用迭代器遍历.
- 同
indexOfSubList(List<?> source, List<?> target)
,反向查找
- 返回一个不可修改的集合,不能添加删除元素.
- 返回一个不可修改的
Set
- 返回一个不可修改的排序
Set
- 返回一个不可修改的
NavigableSet
- 返回一个不可修改的
List
- 返回一个不可修改的
Map
- 返回一个不可修改的
SortedMap
- 返回一个不可修改的
NavigableMap
- 返回一个加锁的集合
- 返回一个加锁的集合,自己实现锁标志
- 返回一个加锁的
Set
- 返回一个加锁的
Set
,自己实现锁标志
- 返回一个加锁的
SortedSet
- 返回一个加锁的
NavigableSet
- 返回一个加锁的
List
- 返回一个加锁的
List
,自己实现锁标志
- 返回一个加锁的
Map
- 返回一个加锁的
SortedMap
- 返回一个加锁的
NavigableMap
- 返回一个受检查的集合
- 返回一个零长度的数组
- 返回一个受检查的
Queue
- 返回一个受检查的
Set
- 返回一个受检查的
SortedSet
- 返回一个受检查的
NavigableSet
- 返回一个受检查的
List
- 返回一个受检查的
Map
- 返回一个受检查的
SortedMap
- 返回一个受检查的
NavigableMap
- 返回一个空的迭代器
- 返回一个空的
List
迭代器
- 返回一个空的
Enumeration
迭代器
- 返回一个空的
Set
- 返回一个空的
SortedSet
- 返回一个空的
NavigableSet
- 返回一个空的
List
- 返回一个空的
Map
- 返回一个空的
SortedMap
- 返回一个空的
NavigableMap
- 返回只有一个元素的
Set
- 返回只有一个元素的
List
- 返回只有一个元素的
Map
- 返回一个填充了同一个元素的
List
- 返回一个排序规则器
- 返回一个相反的排序规则器
- 返回一个集合的
Enumeration
Enumeration
转换成ArrayList
- 统计集合里包含的某个元素个数
- 集合没有相同的元素
- 向集合添加元素,全部添加成功返回
true
- 方法调用返回的集合的映射支持
- 方法用于获取一个
Deque
视图,作为一个后进先出(LIFO
)队列