Collections类
Collections工具类提供了大量针对Collection/Map的操作,总体可分为四类,都为静态(static)方法:
1、排序操作(主要针对List接口相关)
reverse(List list)
:反转指定List集合中元素的顺序
shuffle(List list)
:对List中的元素进行随机排序(洗牌)
sort(List list)
:对List里的元素根据自然升序排序
sort(List list,Comparator c)
:自定义比较器进行排序
swap(Listlist,int i,int j)
:将指定List集合中i处元素和j处元素进行交换
rotate(List list,int distance)
:将所有元素向右移位指定长度,如果distance等于size那么结果不变
2.查找和替换(主要针对Collection接口相关)
binarySearch(List list, Object key)
:使用二分搜索法,以获得指定对象在List中的索引,前提是集合已经排序
max(Collection coll)
;返回最大元素
max(Collection coll, Comparator comp)
: 根据自定义比较器,返回最大元素
min(Collection coll)
:;返回最小元素
min(Collection coll, Comparator comp)
:根据自定义比较器,返回最小元素
fill(Lit list, Object obj)
:使用指定对象填充
frequency(Collection Object o)
;返回指定集合中指定对象出现的次数
replaceAll(List list, Object old, Object new)
:替换
3.同步控制
Collections工具类中提供了多个synchronizedXxx方法,该方法返回指定集合对象对应的同步对象,从而解诀多线程;
并发访问集合时线程的安全问题。HashSet、 ArrayList、 HashMap都是线程不安全的,如果需要考虑同步,则
使用这些方法。这些方法主要有: synchronizedSet、 synchronizedSortedSet、 synchronizedList、 synchronizedMap、synchronizedSortedMap
。
特别需要指出的是,在使用迭代方法遍历集合时需要手工同步返回的集合。
4.设置不可变集合
Collections有三类方法可返回一个不可变集合:
emptyXxx():
返回一个空的不可变的集合对象
singletonXx)
:返回一个只包含指定对象的,不可变的集合对象。
unmodifiablexx()
:返回指定集合对