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

Java中如何将ArrayList<int[]>转换为int[][]类型

Java中ArrayList<int[]>转int[][]的实现方案

方案1:ArrayList内置方法转换(性能最优)

Java 8及以上版本可以直接调用ArrayList的toArray方法,传入二维数组的构造方法引用即可完成转换,无额外性能开销:

return result.toArray(int[][]::new);

方案2:基于Stream流实现

如果需要在转换前执行过滤、映射等处理逻辑,可以使用流方式实现:

return result.stream().toArray(int[][]::new);

中间可以插入任意流处理逻辑,比如过滤不符合长度要求的数组:

return result.stream()
    .filter(item -> item.length == 4)
    .toArray(int[][]::new);

完整示例代码

补全后你的方法可以直接写成如下形式:

public static int[][] findFarmland(int[][] land) {
    var result = new ArrayList<int[]>();
    /**
     * 此处为查找农田的业务逻辑实现
     */
    // 直接调用内置方法转换返回,性能最优
    return result.toArray(int[][]::new);
}

低版本Java兼容方案

如果使用Java 7及以下版本,需要手动遍历赋值:

public static int[][] findFarmland(int[][] land) {
    ArrayList<int[]> result = new ArrayList<int[]>();
    /**
     * 此处为查找农田的业务逻辑实现
     */
    int[][] resArray = new int[result.size()][];
    for (int i = 0; i < result.size(); i++) {
        resArray[i] = result.get(i);
    }
    return resArray;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 14:18:03