Java二维数组直接模拟表格结构,行对应第一维、列对应第二维,支持不规则行列,可通过tablei直接访问,常用Object[][]存混合数据,支持静态与动态初始化及增强for遍历。

Java 二维数组是模拟表格结构最直接、轻量的方式——它不依赖外部库,适合小规模、结构清晰的行列表达,比如员工信息、学生成绩、配置矩阵等。
二维数组如何对应表格结构
表格的“行”对应二维数组的第一维,“列”对应第二维。每一行是一个一维数组(如 Object[]),整个二维数组就是这些行的集合。
- 行数 = 二维数组长度:
table.length - 第 i 行的列数 =
table[i].length(每行可不等长,即“不规则二维数组”) - 访问第 i 行第 j 列元素:直接写
table[i][j],无需额外封装 - 常见类型组合:用
Object[][]存混合数据(编号、姓名、年龄、职位、入职日期),用String[][]或int[][]存同质数据(纯文本表、数值矩阵)
初始化方式要按场景选
静态初始化适合数据固定且已知;动态初始化适合运行时逐行构建或从数据库/文件读取后填充。
- 静态方式(代码即数据):
Object[][] emps = { {1001, "张三", 25}, {1002, "李四", 28} }; - 动态方式(先声明容器,再填内容):
Object[][] emps = new Object[3][];,然后emps[0] = new Object[]{"王五", "讲师", 32}; - 注意:
new Object[3][4]是规则数组(每行强制 4 列),而new Object[3][]更灵活,允许各行列数不同
遍历与打印实用技巧
用增强 for 循环最简洁;需索引时用传统 for;打印整行可用 Arrays.toString(),避免手动拼接。
立即学习“Java免费学习笔记(深入)”;
- 推荐遍历写法:
for (Object[] row : emps) { System.out.println(Arrays.toString(row)); } - 带行列号的访问:
for (int i = 0; i - 避免空指针:访问前检查
emps[i] != null,尤其在动态初始化未填满所有行时
导出到 Excel 需借助 POI 库
二维数组本身不能直接生成 Excel 文件,但它是理想的数据源。Apache POI 是主流选择,只需把数组内容逐单元格写入工作表。
- Maven 引入关键依赖:
poi和poi-ooxml - 核心逻辑:循环二维数组 → 对每行调用
sheet.createRow(i)→ 对每列调用row.createCell(j).setCellValue(...) - 支持类型转换:若数组含
Double或Integer,POI 自动识别为数字;String写入为文本;时间建议转为Date并设置单元格格式


















