一、Arrays
- 此类包含用来操作数组(比如排序和搜索)的各种方法。
- 除非特别注明,否则如果指定数组引用为 null,则此类中的方法都会抛出 NullPointerException。
二、常用方法
public class Arrays
{
//私有化构造函数,不能创建对象
private Arrays() {}
/**
*返回一个受指定数组支持的固定大小的列表
*此方法同 Collection.toArray() 一起,充当了基于数组的 API 与基于 collection 的 API 之间的桥梁
*可以使用集合的思想和方法来操作数组中的元素。
*注意:不能使用集合的增删方法,因为数组的长度是固定的,其他方法可以使用。
*如果增删会发生:UnsupportedOperationException
*如果数组中的元素都是对象,那么变成集合时,数组中的元素就直接转成集合中的元素
*如果数组中的元素都是基本数据类型,那么会将该数组作为集合中的元素存在
*/
public static <T> List<T> asList(T... a){}
/**
*使用二分搜索法来搜索指定的 数据类型 数组,以获得指定的值。数组必须保证有序
*可以是任意类型的数组
*/
public static int binarySearch(byte[] a,
byte key){}
public static int binarySearch(byte[] a,
int fromIndex,
int toIndex,
byte key){}
/**
*复制指定的数组,截取或用 0 填充(如有必要),以使副本具有指定的长度
*可以是任意类型的数组
*/
public static float[] copyOf(float[] original,
int newLength){}
//将指定数组的指定范围复制到一个新数组
public static byte[] copyOfRange(byte[] original,
int from,
int to){}
//如果两个指定数组彼此是深层相等 的,则返回 true。与 equals(Object[],Object[]) 方法不同,此方法适用于任意深度的嵌套数组。
public static boolean deepEquals(Object[] a1,
Object[] a2){}
//基于指定数组的“深层内容”返回哈希码。如果数组包含作为元素的其他数组,则哈希码将基于其内容,并以此类推,直至无穷。
public static int deepHashCode(Object[] a){}
//返回指定数组“深层内容”的字符串表示形式。如果数组包含作为元素的其他数组,则字符串表示形式包含其内容等
public static String deepToString(Object[] a){}
//如果两个指定的 byte 型数组彼此相等,则返回 true。
//如果两个数组包含相同数量的元素,并且两个数组中的所有相应元素对都是相等的,则认为这两个数组是相等的
public static boolean equals(byte[] a,
byte[] a2){}
//将指定的 byte 值分配给指定 byte 节型数组的每个元素。
public static void fill(byte[] a,
byte val){}
//将指定的 byte 值分配给指定 byte 型数组指定范围中的每个元素。填充的范围从索引 fromIndex(包括)一直到索引 toIndex(不包括)
public static void fill(byte[] a,
int fromIndex,
int toIndex,
byte val){}
//基于指定数组的内容返回哈希码。
public static int hashCode(boolean[] a){}
//对指定的 char 型数组按数字升序进行排序。该排序算法是一个经过调优的快速排序法
public static void sort(char[] a){}
//对指定 char 型数组的指定范围按数字升序进行排序。排序的范围从索引 fromIndex(包括)一直到索引 toIndex(不包括)
public static void sort(char[] a,
int fromIndex,
int toIndex){}
//返回指定数组内容的字符串表示形式。
//字符串表示形式由数组的元素列表组成,括在方括号("[]")中。相邻元素用字符 ", "(逗号加空格)分隔。
public static String toString(double[] a){}
}