java.util
包下提供了一个 Arrays
类,该类包含用于操作数组的各种方法(如排序和搜索),可以当做工具类来使用。
下面列举一些常用的方法:
-
toString
:返回数组内容的字符串表示形式int[] arr = {1, 3, 7, 2, 4, 8}; System.out.println(Arrays.toString(arr)); // [1, 3, 7, 2, 4, 8]
-
sort
:按升序排列数组int[] arr = {1, 3, 7, 2, 4, 8}; Arrays.sort(arr); System.out.println(Arrays.toString(arr)); // [1, 2, 3, 4, 7, 8]
-
binarySearch
:按二分查找法找出指定数组中指定元素对应的索引值,使用前提是传入的数组是有序的int[] arr = {1, 3, 7, 2, 4, 8}; Arrays.sort(arr); System.out.println(Arrays.toString(arr)); // [1, 2, 3, 4, 7, 8] System.out.println(Arrays.binarySearch(arr,4)); // 3
-
copyOf
:复制指定的数组,并通过截取或用零填充以达到指定长度int[] arr = {1, 3, 7, 2, 4, 8}; int[] newArr1 = Arrays.copyOf(arr, 4); System.out.println(Arrays.toString(newArr1)); // [1, 3, 7, 2] int[] newArr2 = Arrays.copyOf(arr, 7); System.out.println(Arrays.toString(newArr2)); // [1, 3, 7, 2, 4, 8, 0]
-
copyOfRange
:将指定数组的指定范围(左闭右开)复制到新数组中,如果右侧范围超出指定数组的长度,则用零填充(左侧一定要在指定数组范围内)int[] arr = {1, 3, 7, 2, 4, 8}; int[] newArr = Arrays.copyOfRange(arr,1,7); System.out.println(Arrays.toString(newArr)); // [3, 7, 2, 4, 8, 0]
-
equals
:如果两个数组以相同的顺序包含相同的元素,则返回true
。另外,如果两个数组引用都是null
,则也返回true
int[] arr1 = {1, 3, 7, 2, 4, 8}; int[] arr2 = {1, 3, 7, 2, 4, 8}; System.out.println(Arrays.equals(arr1,arr2)); // true int[] arr3 = null; int[] arr4 = null; System.out.println(Arrays.equals(arr3,arr4)); // true
-
fill
:将指定的值分配给指定的相同类型数组的每个元素int[] arr = {1, 3, 7, 2, 4, 8}; Arrays.fill(arr,10); System.out.println(Arrays.toString(arr)); // [10, 10, 10, 10, 10, 10]