Java提供了一个操作Set、List和Map等集合的工具类:Collections,该工具类里 提供了大量方法对集合元素进行排序、查询和修改等操作,还提供了对集合对象实现 同步控制等方法。
排序操作:
reverse(List list) : 倒序。
shuffle(List list):随机排序。
swap(List list, int i, int j): 在指定列表指定位置交换元素。
sort(List list): 根据元素的自然顺序对指定列表按升序排序。
rotate(List list, int distance):根据指定的距离轮换指定列表中的元素。整数往正常移动,负数的话就倒回去。
查找和替换操作
什么叫二分搜索法:比如你要从5000里找500,从5000砍掉一半2500,2501后面就不考虑了,2500再砍掉一半1250,再砍掉一半就625,判断500还是小于 625,再砍掉一半,312.5,它就确定顺序312.5到 500之间,在不断的缩小范围。 这就是二分法的计算方式。
它是在内部实现的,你是感觉不出来的,最终只是返回一个结果。
1.binarySearch; 使用二分搜索法搜索指定列表,以获得指定对象.
2.max(Collection coll) : 找最大元素
min(Collection coll,Comparator c): 找最小元素。
3.fill(List list, T obj):也叫填充,在范围内统统填充。使用指定元素替换指定列表中的所有元素。
4.frequency(Collection c, Object o):返回指定 collection 中等于指定对象的元素数。
同步控制:
Collections类中提供了多个 synchronized…()方法,这些方法可以将指定集合包装成线程同步(线程安全)的集合,从而可以解决多线程并发访问集合时的线程安全问题。 Java中常用的集合框架中的实现类 ArrayList、Linkedlist、 HashSet、TreeSet、 HashMap和TreeMap都是线程不安全的。如果有多个线程访问它们,而且有超过一个的线程试图修改它们,则存在线程安全的问题。 Collections提供了多个类方法可以把 它们包装成线程同步的集合。