Arrays中提供操作多维数组的方法

二维数组

二维数组可以看成以数组为元素的数组

其实多维数组不仅仅只有二维数组,还有三维数组,四维数组..., 但是三维以上很少见到,所以大家重点了解二维数组即可。

举例

int [][] a = {{1,2},{3,4,0,9},{5,6,7}};

tTE0Yj.png

初始化

动态初始化

数组定义与为数组元素分配空间和赋值的操作分开进行

数据类型[][] 数组名 = new 数据类型[一维][二维];

注意:这种初始化方式,每一个内层的二位数组长度相同

int[][] a=new int[3][2];
a[0][0] = 1;
a[0][1] = 2;

tTEy60.png

数据类型[][] 数组名 = new 数据类型[一维][];
内层数组需要我们自己去创建(下面可以用一维数组的创建方式)
数组名[一维数组索引值] = new 数据类型[二维];
int[][] a=new int[3][];
arr[0]=new int[2];
arr[1]=new int[]{3,4,5,6};
arr[2]=new int[]{7,8,9};
arr[0][0] = 1;
arr[0][1] = 2;

tTER7F.png

静态初始化

在定义数组的同时就为数组元素分配空间并赋值

数据类型[][] 数组名 = new 数据类型[][]{{...},{...},{...}};
数据类型[][] 数组名 = {{...},{...},{...}};                 --简化写法
int[][] arr1=new int[][]{{5,4,8},{3,8},{1}};
char[][] arr2={{'a'},{'b','c'}};

遍历方式

双重循环实现多维数组的遍历

//普通for循环嵌套增强for循环
for(int i=0;i<=arr1.length-1;i++){
    for(int j:arr1[i]){
        System.out.println(j);
    }
}
//增强 for循环嵌套普通for循环
for(int[] arr:arr1){
    for(int i=0;i<=arr.length-1;i++){
        System.out.println(arr[i]);
    }
}
//普通for嵌套普通for循环
...
//增强for嵌套增强for循环
...

Arrays中提供操作多维数组的方法:

static boolean deepEquals(Object[] a1, Object[] a2) 如果两个指定的数组彼此 深度相等 ,则返回 true 。  
static String deepToString(Object[] a) 返回指定数组的“深度内容”的字符串表示形式。  
double[][] arr1= new double[][] {{1.0,2.0},{3.0,4.0,5.0},{6.0}};
double[][] arr2= new double[][] {{1.0,2.0},{3.0,4.0,5.0},{6.0}};
System.out.println(Arrays.deepToString(arr1)); //[[1.0, 2.0], [3.0, 4.0, 5.0], [6.0]]
System.out.println(Arrays.deepEquals(arr1, arr2)); //true
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值