目录
引言
一,Arrays类常用方法
二,Arrays类方法的使用
2.1,toString()方法
2.1.1,deepToString()方法及与toString()方法的区别
2.2,sort()方法
2.3,equals()方法
2.3.1,deepEquals()方法和与equals的区别
2.4,fill()方法
2.5,binarySearch()方法
Arrays类位于 java.util 包中,主要包含了操作数组的各种方法。
Arrays 类能方便地操作数组,它提供的所有方法都是静态的。
具有以下功能:
1 | public static void toString(Object[ ] a, Object key) 用来将数组转换成String类型输出的,传入的参数可以是boolean,byte,char,double,float,int,long,Object,short类型的数组 |
2 | public static void sort(Object[ ] a) |
3 | public static boolean equals(long[ ] a, long[ ] a2) 如果两个指定的 long 型数组彼此相等,则返回 true。如果两个数组包含相同数量的元素,并且两个数组中的所有相应元素对都是相等的,则认为这两个数组是相等的。换句话说,如果两个数组以相同顺序包含相同的元素,则两个数组是相等的。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。 |
4 | public static void fill(int[ ] a, int val) 将指定的 int 值分配给指定 int 型数组指定范围中的每个元素。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。 |
5 | public static int binarySearch(Object[ ] a, Object key) 用二分查找算法在给定数组中搜索给定值的对象(Byte,Int,double等)。数组在调用前必须排序好的。如果查找值包含在数组中,则返回搜索键的索引;否则返回 (-(插入点) - 1)。 |
示例代码:
public static void main(String[] args) {
int[] arr={2,4,3,6,55,7,5};
System.out.println(Arrays.toString(arr));
}
输出结果:
Arrays.deepToString()主要用于数组中还有数组的情况(即多维数组,包括二维数组)。 Arrays.deepToString()一般用来打印多维数组。
Arrays.toString()则相反,对于Arrays.toString()而言,当数组中有数组时,不会打印出数组中的内容,只会以地址的形式打印出来。Arrays.toString()一般用于打印一维数组。
toString()打印多维数组示例代码:
public static void main(String[] args) {
int[][] arr={{5,4,6,5},{1,5,2}};
System.out.println(Arrays.toString(arr));
}
输出结果:
deepToString()打印多维数组示例代码:
public static void main(String[] args) {
int[][] arr={{5,4,6,5},{1,5,2}};
System.out.println(Arrays.deepToString(arr));
}
输出结果:
示例代码:
public static void main(String[] args) {
int[] arr={2,4,30,6,55,7,5};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
}
输出结果:
示例代码:
public static void main(String[] args) {
int[] arr1={1,2,3,4};
int[] arr2={1,2,3,4};
int[] arr3={1,2,3,3};
System.out.println(Arrays.equals(arr1, arr2));
System.out.println(Arrays.equals(arr1, arr3));
}
输出结果:
Arrays.deepEquals()主要用于比较两个多为数组的情况(即多维数组,包括二维数组)。 Arrays.deepEquals()一般用来比较两个多维数组是否相等。
Arrays.equals()则相反,对于Arrays.equals()而言,当数组中有数组时,比较两个多维数组,只会返回false。Arrays.equals()一般用于比较一维数组。
deepEquals()方法 示例代码:
public static void main(String[] args) {
int[][] arr1={{1,1,1},{1,1,1}};
int[][] arr2={{1,1,1},{1,1,1}};
int[][] arr3={{2,2,2},{2,2,2}};
System.out.println(Arrays.deepEquals(arr1, arr2));
System.out.println(Arrays.deepEquals(arr1, arr3));
}
输出结果:
equals()方法示例代码:
public static void main(String[] args) {
int[][] arr1={{1,1,1},{1,1,1}};
int[][] arr2={{1,1,1},{1,1,1}};
int[][] arr3={{2,2,2},{2,2,2}};
System.out.println(Arrays.equals(arr1, arr2));
System.out.println(Arrays.equals(arr1, arr3));
}
输出结果:
示例代码:
public static void main(String[] args) {
int[] arr1={1,1,1,1};
System.out.println(Arrays.toString(arr1));
Arrays.fill(arr1,2);
System.out.println(Arrays.toString(arr1));
}
输出结果:
注意:在使用binarySearch()是,数组一定是已经排好序的,才能正常返回给定值索引。
示例代码:
public static void main(String[] args) {
int[] arr1={1,5,55,3,2};
Arrays.sort(arr1);
System.out.println(Arrays.toString(arr1));
System.out.println(Arrays.binarySearch(arr1, 2));
}
输出结果: