15、java.util.Arrays数组工具种
15、java.util.Arrays数组工具类
一、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){} }