1.複制數組
指派操作 array2 = array1;//不會新開辟空間,二者位址相同
使用new會為數組開辟新的空間
2.數組中常見的異常有哪些
① 數組下标越界:ArrayExceptionOutOfBoundsException
//1.數組角标越界的異常
int[] arr = new int[]{1,2,3,4,5};
for(int i = 0;i <= arr.length;i++){
System.out.println(arr[i]);//越界
}
② 空指針異常:NullPointerException
//2.空指針異常
int[] arr1 = new int[]{1,2,3};
arr1 = null;
System.out .println(arr1[0]);
//情況二
int[][] arr2 = new int[4][];
System.out.println(arr2[0]);//null
System.out.println(arr2[0][0]);//空指針異常
//情況三
String[] arr3 = new String[]{"aa","bb"};
arr3[0] = null;
System.out.println(arr3[0].toString());
3.數組的建立與元素指派
楊輝三角(二維數組)、回形數(二維數組)、随機生成數給數組指派
4.針對數值型數組
求數組元素最大值、最小值、總和、平均數
5.數組的指派和指派(見1)
① array2 = array1;//将array1儲存的數組的位址賦給array2,二者指向堆空間中同一個實體
② array2 = new int[array1.length];//通過new的方式,給array2在堆空間中新開辟了數組的空間,講array1中的元素複制給array2
for(int i = 0;i < array1.length;i++){
array2[i] = array[1];
}
6.數組中指定元素的查找:搜尋、檢索
① 線性查找:
實作思路:通過周遊方式,逐個查找
适用性:具有普遍适用性
② 二分查找
實作思路:每次比較中間值,折半方式搜尋
适用性:前提要求數組有序
7.數組的排序

衡量排序算法的優劣:時間複雜度、空間複雜度、穩定性
排序分類:内部排序與外部排序(需要借助磁盤)
8.Arrays工具類
① 定義在 java.uitl包下
② Arrays提供了很多操作數組的方法,部分方法的使用:
int[] arr1 = new int[]{1,2,3,4};
int[] arr2 = new int[]{1,3,2,4};
//判斷兩個數組是否相等
boolean flag = Arrays.equals(arr1,arr2);
System.out.println(flag);
//輸出數組資訊
System.out.println(Arrays.toString(arr1));
//将指定值填充到數組之中
Arrays.fill(arr1, 3);
System.out.println(Arrays.toString(arr1));
//對數組進行排序
Arrays.sort(arr2);
System.out.println(Arrays.toString(arr2));;
//二分查找
int index = Arrays.binarySearch(arr2, 5);
if(index >= 0){
System.out.println(index);
}else{
System.out.println("未找到");
}