一、Arrays

Arrays主要对数组提供了一些高效的操作,比如排序,查找,填充,拷贝相等判断等等。

1、排序

Arrays.sort方法主要用于排序

2、查找

Arrays.binarySearch 方法主要用于快速从数组中查找出对应的值
1. 如果被搜索的数组是无序的,一定要先排序,否则二分搜索很有可能搜索不到,我们 demo
里面也先对数组进行了排序;
2. 搜索方法返回的是数组的下标值。如果搜索不到,返回的下标值就会是负数,这时我们需要
判断一下正负。如果是负数,还从数组中获取数据的话,会报数组越界的错误

3、拷贝

拷贝整个数组我们可以使用 copyOf 方法,拷贝部分我们可以使用 copyOfRange 方法

二、Collections

collections是为了方便使用集合而产生的工具类,Arrays方便数组使用,Collections是方便集合使用。也提供了sort和binarySearch方法。

1、求集合中最大、小值

maxmin方法

2、多种类型的集合

Collections对原始集合类进行了封装,提供了更好的集合类给我们,一种是线程安全的集合; 一种是不可变集合。
线程安全集合的集合方法都是在synchronized打头的
不可以变集合为只开放了查询方法,其余任何修改操作都会抛出异常

三、Object

对于 Objects,我们经常使用的就是两个场景,相等判断和判空。

1、相等判断

Objects提供了equals deepEquals两个方法来进行相等判断,前者是判断基本类型和自定义类的,后者是用来判断数组的。

2、判断空

Objects提供了各种关于空的一些判断,isNullnonNull对于对象是否为空返回Boolean值,requireNonNull方法更加严格,一旦为空就直接抛出异常。