Arrays.toString
将数组对象转换为字符串类型,格式为[元素1,元素2……],例子代码为int类型数组,实际使用中Arrays.toString方法支持所有类型对象,相应的Arrays类的其他方法也都执行该特性。
代码demo:
public static void main(String[] args) {
Random random = new Random();
int[] intarr = new int[10];
for (int i = 0; i < intarr.length; i++) {
intarr[i] = random.nextInt(1000);
}
// Array 类输出方法
System.out.println(Arrays.toString(intarr));
}
输出结果为:
[430, 646, 442, 690, 620, 436, 606, 600, 69, 220]
Arrays.sort
将数组内对象从小到大进行升序排序
代码demo:
Random random = new Random();
int[] intarr = new int[10];
for (int i = 0; i < intarr.length; i++) {
intarr[i] = random.nextInt(1000);
}
System.out.println(Arrays.toString(intarr));
Arrays.sort(intarr);
// Array 类输出方法
System.out.println(Arrays.toString(intarr));
输出结果为:
[774, 942, 302, 195, 385, 253, 186, 858, 754, 748]
[186, 195, 253, 302, 385, 748, 754, 774, 858, 942]
Arrays.copy
拷贝数组元素,传输两个参数
Arrays.copy(arr[],newlength)
参数1为将要拷贝的对象
参数2为返回的新数组的长度
代码demo:
Random random = new Random();
int[] intarr = new int[10];
for (int i = 0; i < intarr.length; i++) {
intarr[i] = random.nextInt(1000);
}
System.out.println(Arrays.toString(intarr));
int[] intarr2 = Arrays.copyOf(intarr,intarr.length);
System.out.println(Arrays.toString(intarr2));
Arrays.sort(intarr);
System.out.println(Arrays.equals(intarr,intarr));
System.out.println(Arrays.equals(intarr2,intarr));
// Array 类输出方法
System.out.println(Arrays.toString(intarr));
输出结果为:
[944, 391, 812, 479, 641, 399, 211, 880, 485, 672]
[944, 391, 812, 479, 641, 399, 211, 880, 485, 672]
true
false
[211, 391, 399, 479, 485, 641, 672, 812, 880, 944]
Arrays.equals
比较两个数组的元素值是否相等,比较的两个参数均为数组,数组类型必须相等。代码示例与结果如Arrays.copy例子,数组对象排序不同比较结果也是false。
Arrays.fill
该方法需要传入两个参数,参数1为数组类型,参数2必须为数组元素类型,执行会将参数1数组的全部元素更改为参数2的值。
代码demo:
Arrays.fill(intarr,10);
输出为:[10, 10, 10, 10, 10, 10, 10, 10, 10, 10]
Arrays.binarySearch
//两个参数
// a :需要进行查找的数组,该数组必须先进行排序之后才可以用该方法进行查找
//key:进行比对的值
binarySearch(int[] a, int key)
使用二分法对数组元素进行查找,进行查找的数组必须进行排序后才可以进行查找。
代码demo:
int[] intarr2 = Arrays.copyOf(intarr,intarr.length);
Arrays.sort(intarr);
int s = intarr2[2];
System.out.println(Arrays.binarySearch(intarr,s));
输出结果为:
[109, 311, 738, 346, 391, 16, 334, 510, 420, 401]
[16, 109, 311, 334, 346, 391, 401, 420, 510, 738]
9