java中的Arrays类
该类包含用于操作数组的各种方法
1. 返回数组的字符串形式
int[] arr1 = {1,2,4,9,6};
System.out.println(Arrays.toString(arr1));
//结果:[1, 2, 4, 9, 6]
2. 将数组的所有元素都附上相同的值
int[] arr1 = {1,2,4,9,6};
Arrays.fill(arr1, 0);
System.out.println(Arrays.toString(arr1));
//结果:[0, 0, 0, 0, 0]
3. 对数组进行升序排序
int[] arr1 = {1,2,9,4,5,6};
Arrays.sort(arr1);
System.out.println(Arrays.toString(arr1));
//结果:[1, 5, 2, 3, 6, 9]
int[] arr2 = {1,6,3,2,3,4,8};
Arrays.sort(arr2, 0, 3); //对0到3之间的元素进行升序排序(不包括3)
System.out.println(Arrays.toString(arr2));
//结果:[1, 3, 6, 2, 3, 4, 8]
4. 判断两个数组是否相等
int[] arr1 = {1,2,9,4,5,6};
int[] arr2 = {1,2,9,4,5,6};
System.out.println(Arrays.equals(arr1, arr2));
//结果:true
5. 用二分法查找元素
注意:因为用的是二分法,所以要先对数组进行排序,不然结果不确定,另外,如果要查找的元素在数组中不止一个,则无法保证找到的是哪一个。.binarySearch(object[ ], object key);
int[] arr1 = {1,2,9,4,5,6};
Arrays.sort(arr1);
System.out.println(Arrays.toString(arr1));
//排序后的数组为:[1, 2, 4, 5, 6, 9]
int x1 = Arrays.binarySearch(arr1, 10);
int x2 = Arrays.binarySearch(arr1, 3);
System.out.println("x1:" + x1 + " " + "x2:" + x2);
//结果: x1:-7 x2:-3 找不到指定元素时以1开始计数
int x3 = Arrays.binarySearch(arr1, 1);
int x4 = Arrays.binarySearch(arr1, 4);
System.out.println("x3:" + x3 + " " + "x4:" + x4);
//结果:x3:0 x4:2 找得到指定元素以0开始计数
6. 拷贝一份新数组
int[] arr1 = {1,2,9,4,5,6};
int[] newarr = Arrays.copyOf(arr1, arr1.length);
int[] newarr1 = Arrays.copyOfRange(arr1, 0, 1);
System.out.println(Arrays.toString(newarr));
System.out.println(Arrays.toString(newarr1));
//结果:[1, 2, 9, 4, 5, 6]
// [1]