一、Arrays工具类的使用
java.util.Arrays类即为操作数组的工具类,包含了用来操作数组(比如排序和搜索)的各种方法。
序号 | 方法 | 说明 |
---|---|---|
1 | boolean equals(int[] a,int[] b) | 判断两个数组是否相等 |
2 | String toString(int[] a) | 输出数组信息 |
3 | void fill(int[] a,int val) | 将指定值填充到数组之中 |
4 | void sort(int[] a) | 对数组进行排序 |
5 | int binarySearch(int[] a,int key) | 对排序后的数组进行二分法检索指定的值 |
代码测试:
import java.util.Arrays;
/*
* java.util.Arrays:操作数组的工具类,里面定义了很多操作数组的方法
*
*
*/
public class ArraysTest {
public static void main(String[] args) {
//1.boolean equals(int[] a,int[] b):判断两个数组是否相等。
int[] arr1 = new int[]{1,2,3,4};
int[] arr2 = new int[]{1,3,2,4};
boolean isEquals = Arrays.equals(arr1, arr2);
System.out.println(isEquals);
//2.String toString(int[] a):输出数组信息。
System.out.println(Arrays.toString(arr1));
//3.void fill(int[] a,int val):将指定值填充到数组之中。
Arrays.fill(arr1,10);
System.out.println(Arrays.toString(arr1));
//4.void sort(int[] a):对数组进行排序。
Arrays.sort(arr2);
System.out.println(Arrays.toString(arr2));
//5.int binarySearch(int[] a,int key)
int[] arr3 = new int[]{-98,-34,2,34,54,66,79,105,210,333};
int index = Arrays.binarySearch(arr3, 210);
if(index >= 0){
System.out.println(index);
}else{
System.out.println("未找到");
}
}
}
二、数组使用中的常见异常
2.1 数组脚标越界异常(ArrayIndexOutOfBoundsException)
访问到了数组中的不存在的脚标时发生。
//1. 数组角标越界的异常:ArrayIndexOutOfBoundsExcetion
int[] arr = new int[]{1,2,3,4,5};
//for(int i = 0;i <= arr.length;i++){
// System.out.println(arr[i]);
//}
//System.out.println(arr[-2]);
//System.out.println("hello");
2.2 空指针异常(NullPointerException)
引用没有指向实体,却在操作实体中的元素时。
//2. 空指针异常:NullPointerException
//情况一:
//int[] arr1 = new int[]{1,2,3};
//arr1 = null;
//System.out.println(arr1[0]);
//情况二:
//int[][] arr2 = new int[4][];
//System.out.println(arr2[0][0]);
//情况三:
String[] arr3 = new String[]{"AA","BB","CC"};
arr3[0] = null;
System.out.println(arr3[0].toString());