一、二维数组
数组中嵌套数组(数组中还有数组)
1、声明
数据类型[][] 数组名;
数据类型[] 数组名[];
数据类型 数组名[][];
int[][] arr6; int[] arr4[]; int arr5[][];
2、初始化
动态初始化:创建数组对象的时候不赋值,后续赋值
数据类型 数组名 = new 数据类型[一维的长度][二维的长度];
数据类型 数组名 = new 数据类型[一维的长度][];
静态初始化:创建数组对象的同时赋值
数据类型 数组名 = new 数据类型{ {1,2,3},{2,3},{4}...};
// 动态初始化 int[][] arr1=new int[3][4]; int[][] arr2=new int[3][]; // 静态初始化 int[][] arr3={ {1,2,3},{4,5,6,7},{8,9}}; int[][] arr=new int[][] { {1,2,3},{4,5,6,7},{8,9}};
3、二维数组遍历
嵌套循环:
增强for:遍历数组中的每一个数据值
普通for:遍历数组的索引(下标)
int[][] arr=new int[][] { {1,2,3},{4,5,6,7},{8,9}}; System.out.println(Arrays.deepToString(arr3));//把数组中的内容深层以字符串的形式返回,多维度需要 System.out.println(Arrays.deepEquals(arr3, arr));//深层比较内容,多维度需要 //增强for // for(int[] a:arr) { // for(int b:a) { // System.out.println(b); // } // } //普通for for(int i=0;i<arr.length;i++) { for(int j=0;j<arr[i].length;j++) { System.out.println(arr[i][j]); } }
二、容器
1、特点
可以存储多个数据
可以根据数据的个数进行自动变长
存储任意类型的数据,只能为引用数据类型
数组特点:有序、数据类型相同、定长;
作用:存储多个数据