二维数组
定义 : 二维数组其实是一位数组的嵌套(每一行看做一个内层的一维数组)
格式:
数据类型[][] 数组名;
初始化的两种方式:
1.动态初始化
数据类型[][] 数组名 = new 数据类型[一维的长度][二维的长度];
//创建整数类型的数组
int[][] arr1=new int[2][3];
//根据索引添加原数
arr1[0][0] = 1;
arr1[0][1] = 2;
arr1[0][2] = 3;
arr1[1][0] = 4;
arr1[1][1] = 5;
arr1[1][2] = 6;
//以字符串形式打印
System.out.println(Arrays.deepToString(arr1));
数据类型[][] 数组名 = new 数据类型[一维的长度][];
//创建浮点类型的数组
double[][] arr2=new double[2][];
//指定二维的长度
arr2[0] = new double[3];
//指定二维的内容
arr2[1] = new double[]{4,5};
//为一维添加元素
arr2[0][0] = 1;
arr2[0][1] = 2;
arr2[0][2] = 3;
//以字符串形式打印
System.out.println(Arrays.deepToString(arr2));
2.静态初始化:
数据类型[][] 数组名 = new 数据类型[][]{{‘a’,‘b’},{‘c’,‘d’,‘e’},{‘f’}};
//创建字符型数组
char[][] arr3 = new char[][]{{'a','b'},{'c','d','e'},{'f'}};
System.out.println(Arrays.deepToString(arr3));
//创建字符串数组
String[][] arr4= {{"你好","Java"},{"哈哈哈"}};
System.out.println(Arrays.deepToString(arr4));
遍历
1.for…each嵌套for…each
for(char[] ch:arr3){
for(char c: ch){
System.out.println(c);
}
}
2.for嵌套for
for(int i=0 ; i<= arr.lenght-1 ; i++){
for(String s: arr [ i ] ){
System.out.println(s);
}
}
Arrays 操作数组工具类,静态工厂
常用方法
//创建数组
String[][] arr = new String[][]{{"第一个果子","第二个果子"},{"第三个果子","第四个果子"},{"第五个果子"}}
//deepToString()多维数组以字符串的形式打印内容
//ToString() 一维数组以字符串的形式打印内容
//deepEquals()多维数组比较内容是否相等
//equals() 一维数组比较内容是否相等
//以字符串形式打印
System.out.println(Arrays.deepToString(arr));
//创建int类型数组
int[] arr2=new int[]{3,2,1,4,5,9,7,8,6};
//fill(数组,数据值) 填充
//Arrays.fill(arr2, 0);//将arr2中所有内容填充为0
//fill(数组,起始索引,结束索引,数据值) 结束索引不包含
//Arrays.fill(arr2,3,5, 0);//将arr2中索引3到5之间内容填充为0
//sort() 排序 默认升序,对字符|字符串,根据Unicode表中字符代表的值进行排序
Arrays.sort(arr2);
System.out.println(Arrays.toString(arr2));
//static char[] copyOf(char[] original, int newLength) 拷贝,截取,填充
System.out.println(Arrays.toString(Arrays.copyOf(arr3, 3)));
System.out.println(Arrays.toString(Arrays.copyOf(arr3, 5)));
System.out.println(Arrays.toString(Arrays.copyOf(arr3, 10)));
//static char[] copyOfRange(char[] original, int from, int to) 结束索引不包含 将指定数组的指定范围复制到一个新数组。
System.out.println(Arrays.toString(Arrays.copyOfRange(arr3, 1,3)));