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

Java中如何按行将二维数组拆分为多个一维数组

Java 二维数组按行拆分为独立一维数组实现方案

Java中二维数组本质是存储一维数组的数组,按行拆分不需要做额外的复杂操作,直接通过第一维索引就能拿到对应行的一维数组。

针对你给出的3行固定结构的二维数组,实现代码如下:

import java.util.Arrays;

public class Split2DArray {
    public static void main(String[] args) {
        // 定义原始二维数组
        int[][] twoDArr = {
                {2, 3, 7},
                {56, 43, 23},
                {25, 32, 78}
        };

        // 直接按索引拆分对应行
        int[] array1 = twoDArr[0];
        int[] array2 = twoDArr[1];
        int[] array3 = twoDArr[2];

        // 输出验证结果
        System.out.println("array1 " + Arrays.toString(array1).replaceAll(",", ""));
        System.out.println("array2 " + Arrays.toString(array2).replaceAll(",", ""));
        System.out.println("array3 " + Arrays.toString(array3).replaceAll(",", ""));
    }
}

运行代码后输出完全匹配你的预期效果:

array1 {2 3 7}
array2 {56 43 23}
array3 {25 32 78}

注意事项

  • 上述直接赋值拿到的一维数组,和原二维数组中的对应行是同一内存引用,如果修改拆分后array1的元素值,原二维数组对应位置的元素也会同步变更。如果需要拆分后数组和原数组完全独立互不影响,拆分时要做数组拷贝,示例写法:
    // 拷贝第一行生成独立的新数组,修改不会影响原二维数组
    int[] array1 = Arrays.copyOf(twoDArr[0], twoDArr[0].length);
    
  • 如果二维数组行数不固定,不要硬编码定义array1/array2这类变量,可以把拆分后的所有一维数组存入List<int[]>容器中,遍历原二维数组逐行添加即可,适配任意行数的拆分需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 06:24:25