Java提供了一个操作Set、List和Map等集合的工具类:Collections,该工具类里提供了大量的方法对集合元素进行排序、查询和修改等操作,还提供了将集合对象设置为不可变、对集合对象实现同步控制等方法。
Collections提供了如下常用的类方法用于对List集合元素进行排序。
- void reverse(List list):反转指定List集合中元素的顺序
- void shuffle(List list):对List集合元素进行随机排序(shuffle方法模拟了“洗牌”动作)
- void sort(List list):根据元素的自然顺序对指定List集合的元素按升序进行排序
- void sort(List list, Comparator c):根据指定Comparator产生的顺序对List集合元素进行排序
- void swap(List list, int i, int j):将指定List集合中的i处元素和j处元素进行交换
- void rotate(List list, int distance):当distance为正数是,将List集合的后distance个元素“整体”移到前面;当distance为负数时,将list集合的前distance个元素“整体”移到后面。该方法不会改变集合的长度
Collections还提供了如下常用的用于查找、替换集合元素的类方法。
- int binarySearch(List list, Object key):使用二分搜索法搜索指定的List集合,以获得指定对象在List集合中的索引。如果要使该方法可以正常工作,则必须保证List中的元素已经处于有序状态
- Object max(Collection coll):根据元素的自然顺序,返回给定集合中的最大元素
- Object max(Collection coll, Comparator comp):根据Comparator指定的顺序,返回给定集合中的最大元素
- Object min(Collection coll):根据元素的自然顺序,返回给定集合中的最小元素
- Object min(Collection coll, Comparator comp):根据Comparator指定的顺序,返回给定集合中的最小元素
- void fill(List list, Object obj):使用指定元素obj替换指定List集合中的所有元素
- int frequency(Collection c, Object obj):返回指定集合中指定元素的出现次数
- int indexOfSubList(List list, Lost targer):返回子List对象在父List对象中第一次出现的位置索引;若无则返回-1
- int lastIndexOfSubList(List list, Lost targer):返回子List对象在父List对象中最后一次出现的位置索引;若无则返回-1
- boolean replaceAll(List list, Object oldVal, Object newVal):使用一个新值newVal替换List对象中的所有旧值oldVal