Java笔记(二十四)……集合工具类Collections&Arrays

Collections

集合框架的工具类,方法全部为静态

Collections与Collection的区别

Collection是集合框架的一个顶层接口,里面定义了单列集合的共性方法

Collections是集合框架的一个工具类,该类中的方法都是静态的,提供的方法中可以对List集合进行排序,二分查找等,通常常用的集合都是线程不安全的,因为要提高效率,如果多线程操作这些集合时,可以通过该工具类的同步方法,将线程不安全的集合转换成安全的

常用方法

对List进行排序

static <T extends Comparable<? super T>>
void

sort(List<T> list)

static <T> void
sort(List<T> list, Comparator<? super T> c)

对List进行二分查找

static <T> int
binarySearch(List<? extends Comparable<? super T>> list, T key)

static <T> int
binarySearch(List<? extends T> list, T key, Comparator<? super T> c)

逆转排序比较器

static <T> Comparator<T>
reverseOrder()

static <T> Comparator<T>
reverseOrder(Comparator<T> cmp)

获取线程安全的集合

static <T> Collection<T>
synchronizedCollection(Collection<T> c)

随机对List方法中的元素进行置换

static void
shuffle(List<?> list)

static void
shuffle(List<?> list, Random rnd)

Arrays

用于操作数组的工具类,里面的方法都是静态的

常用方法

将数组转换成List集合

static <T> List<T>
asList(T... a)

(T… a)为可变参数,写在参数列表的最末尾

将数组转成List集合有何好处

可以使用集合的思想和方法才操作数组

注:

不可以对数组转成的List集合进行增删操作,因为数组的长度是固定的,如果增删,会产生UnsupportedOperationException

如果数组中的元素都是对象,那么变集合时,集合中存储的都是数组中的元素

如果数组中的元素是基本数据类型,那么会将数组作为元素存储在集合中

静态导入

import static java.util.Arrays.*;

导入的是Arrays这个类中的所有静态成员

当类名重名时,需要指定具体的包名

当方法重名时,需要指定具体的对象或类

你可能感兴趣的:(Collections)