Collections工具类

xiaoxiao2021-02-28  120

Collections工具类提供了大量针对Collection/Map的操作,总体可分为四类,都为静态(static)方法: 1. 排序操作(主要针对List接口相关)

reverse(List list):反转指定List集合中元素的顺序 shuffle(List list):对List中的元素进行随机排序(洗牌) sort(List list):对List里的元素根据自然升序排序 sort(List list, Comparator c):自定义比较器进行排序 swap(List list, 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(List 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():返回一个空的不可变的集合对象 singletonXxx():返回一个只包含指定对象的,不可变的集合对象。 unmodifiableXxx():返回指定集合对象的不可变视图 5. 其它

disjoint(Collection<?> c1, Collection<?> c2) - 如果两个指定 collection 中没有相同的元素,则返回 true。 addAll(Collection<? super T> c, T... a) - 一种方便的方式,将所有指定元素添加到指定 collection 中。示范: Collections.addAll(flavors, "Peaches 'n Plutonium", "Rocky Racoon"); Comparator<T> reverseOrder(Comparator<T> cmp) - 返回一个比较器,它强行反转指定比较器的顺序。如果指定比较器为 null,则此方法等同于 reverseOrder()(换句话说,它返回一个比较器,该比较器将强行反转实现 Comparable 接口那些对象 collection 上的自然顺序)。

http://www.cnblogs.com/nayitian/archive/2013/08/20/3269585.html

转载请注明原文地址: https://www.6miu.com/read-57464.html

最新回复(0)