
一、数组是什么数组是相同数据类型元素的有序容器长度固定下标从0开始。二、一维数组1. 定义写法// 写法1先声明再分配长度 int[] arr1 new int[5]; // 长度5默认值int0 // 写法2声明同时赋值 int[] arr2 {10,20,30,40,50}; // 写法3完整new赋值 int[] arr3 new int[]{1,2,3};2. 默认初始值byte/short/int/long→0float/double→0.0boolean→falsechar→ 空字符\u0000引用类型String、对象→null3. 遍历数组int[] arr {1,2,3,4}; // 普通for for(int i 0; i arr.length; i){ System.out.println(arr[i]); } // 增强for-each for(int num : arr){ System.out.println(num); }三、二维数组数组里存数组// 定义 int[][] two { {1,2}, {3,4,5} }; // 遍历 for(int i 0; i two.length; i){ for(int j 0; j two[i].length; j){ System.out.print(two[i][j] ); } }四、常用工具类Arrays所有数组工具方法都在Arrays类使用前必须导入import java.util.Arrays;1. 打印数组toString()把数组转为字符串输出方便查看内容int[] arr {1,3,5,7}; System.out.println(Arrays.toString(arr)); // 输出 [1, 3, 5, 7] String[] strArr {a,b}; System.out.println(Arrays.toString(strArr));2. 数组排序sort()基本类型升序int[] arr {9,2,7,1}; Arrays.sort(arr); System.out.println(Arrays.toString(arr)); // [1, 2, 7, 9]指定区间排序int[] arr {5,4,3,2,1}; // 从下标1到3左闭右开不包含结束下标 Arrays.sort(arr,1,4);3. 二分查找binarySearch()⚠️ 前提数组必须先升序排序否则结果错误int[] arr {1,2,3,4,5}; int idx Arrays.binarySearch(arr, 3); System.out.println(idx); // 2下标 // 找不到返回负数4. 数组拷贝copyOf (数组新长度)截取 / 扩容数组int[] old {10,20,30}; int[] newArr Arrays.copyOf(old, 5); // [10, 20, 30, 0, 0]copyOfRange (数组起始下标结束下标)区间拷贝左闭右开int[] arr {1,2,3,4,5}; int[] sub Arrays.copyOfRange(arr,1,4); // [2,3,4]5. 数组填充fill()批量给数组赋值int[] arr new int[5]; Arrays.fill(arr, 8); // [8,8,8,8,8] // 指定区间填充 Arrays.fill(arr,1,3,9);6. 判断两个数组内容是否相等equals()int[] a {1,2,3}; int[] b {1,2,3}; System.out.println(Arrays.equals(a,b)); // true注意比较地址Arrays.equals比较每个元素值7. 多维数组深度打印 / 比较deepToString()打印二维、三维数组deepEquals()多维数组判相等int[][] two {{1,2},{3,4}}; System.out.println(Arrays.deepToString(two)); // [[1, 2], [3, 4]]8. 数组转 List 集合String[] strs {java,mysql,spring}; ListString list Arrays.asList(strs);数组自身自带属性不是方法.length获取数组长度int[] arr {1,2,3}; int len arr.length; // 3手写常用数组操作无工具类遍历for(int i0;iarr.length;i){} for(int num : arr){}数组反转int[] arr {1,2,3,4}; for(int i0;iarr.length/2;i){ int temp arr[i]; arr[i] arr[arr.length-1-i]; arr[arr.length-1-i] temp; }