工具类
集合工具类 Collections 和数组工具类 Arrays 的使用,这两个工具类中的方法都是静态的,因此不需要创建对象,可以直接以 类名.静态方法()
的形式调用。
1、 集合工具类 Collections
Collections 工具类 是集合对象的工具类,提供了操作集合的工具方法,
如下所示。
void sort(List list)
根据数据元素的排序规则对 list 集合进行排序,其中的排序规则是通过内部比较器设置的。例如 list 中存放的是 obj 对象,那么排序规则就是根据 obj 所属类重写内部比较器 Comparable 中的 compareTo()方法定义的。
void sort(List list, Comparator c)
根据指定比较器中的规则对 list 集合进行排序。通过自定义 Comparator 比较器 c,可以实现按程序员定义的规则进行排序。
void shuffle(List list)
对指定 list 集合进行随机排序。
void reverse(List list)
反转 list 集合中数据元素的顺序。
Object max(Collection coll)
根据数据元素的自然顺序,返回给定 coll 集合中的最大元素。该方法的输入类型为 Collection 接口,而非 List 接口,因为求集合中最大元素不需要集合是有序的。
Object min(Collection coll)
根据数据元素的自然顺序,返回给定 coll 集合的最小元素。
int binarySearch(List list,Object o)
使用二分查找法查找 list 集合,以获得 o 数据元素的索引。如果此集合中不包含 o 元素,则返回-1。在进行此调用之前,必须根据 list 集合数据元素的自然顺序对集合进行升序排序(通过 sort(List list)方法)。如果没有对 list 集合进行排序,则结果是不确定的。如果 list 集合中包含多个元素“等于”指定的 o 元素,则无法保证找到的是哪一个,这里说的“等于”是指通过 equals()方法判断相等的元素。
int indexOfSubList(List source,List target)
返回指定源集合 source 中第一次出现指定目标集合 target 的起始位置,换句话说,如果 target 是 source 的一个子集合,那么该方法返回 target 在 source 中第一次出现的位置。如果没有出现这种集合间的包含关系,则返回-1。
int lastIndexOfSubList(List source,List target)
返回指定源集合 source 中最后一次出现指定目标集合 target 的起始位置,如果没有出现这样的集合,则返回-1。
void copy(List dest,List src)
将所有数据元素从 src 集合复制到 dest 集合。
void fill(List list,Object o)
使用 o 数据元素替换 list 集合中的所有数据元素。
boolean replaceAll(List list,Object old,Object new)
使用一个指定的 new 元素替换 list 集合中出现的所有指定的 old 元素。
void swap(List list,int i,int j)
在 list 集合中,交换 i 位置和 j 位置的元素。
2、数组工具类 Arrays
Arrays 类是操作数组的工具类,和 Collections 工具类相似,Arrays 类主要有以下功能:
- 对数组进行排序。
- 给数组赋值。
- 比较数组中元素的值是否相等。
- 进行二分查找。