You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中如何获取未知大小二维数组尺寸或无需尺寸遍历数组?

Java二维数组:获取尺寸与遍历方法

首先纠正你代码里的一个小错误:main是Java的关键字,不能用来作为返回值类型,正确的方法签名应该是:

public int[] findBall(int[][] grid) {
    
}

一、获取任意大小二维数组的尺寸

1. 获取行数

二维数组本质是“数组的数组”,直接用 grid.length 就能拿到行数(也就是外层数组中包含的一维数组个数)。

2. 获取列数

如果二维数组的每行长度一致(像你提供的5×5示例),可以先判断数组非空,再取第一行的长度:

int rows = grid.length;
int cols = 0;
if (rows > 0) {
    cols = grid[0].length;
}

如果是不规则二维数组(每行长度不同),需要单独遍历每行,用 row.length 拿到对应行的列数。

二、未知尺寸下遍历二维数组

1. 普通for循环(支持索引操作)

适合需要知道元素位置(行号i、列号j)的场景:

// 遍历每一行
for (int i = 0; i < grid.length; i++) {
    int[] currentRow = grid[i];
    // 跳过可能的空行
    if (currentRow == null) {
        continue;
    }
    // 遍历当前行的每个元素
    for (int j = 0; j < currentRow.length; j++) {
        int element = currentRow[j];
        // 这里写你对元素的处理逻辑,比如打印
        System.out.print(element + " ");
    }
    System.out.println();
}

2. 增强for循环(foreach,写法更简洁)

适合只需要处理元素值、不需要索引的场景:

// 遍历每一行
for (int[] currentRow : grid) {
    // 跳过可能的空行
    if (currentRow == null) {
        continue;
    }
    // 遍历当前行的每个元素
    for (int element : currentRow) {
        // 处理元素,比如打印
        System.out.print(element + " ");
    }
    System.out.println();
}

注意事项

如果二维数组中存在null的行(比如外层数组里某个元素是null),遍历前一定要判断,否则会触发NullPointerException(空指针异常)。

内容的提问来源于stack exchange,提问作者Thay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 03:01:09