为了账号安全,请及时绑定邮箱和手机立即绑定

如何将二维数组列表传递给接受二维列表的函数

如何将二维数组列表传递给接受二维列表的函数

莫回无 2023-06-14 11:11:57
尝试了 2 天后,终于在 stackoverflow 上提问:How to pass a 2D Arraylist to 2 D List下面是代码:public class Main {    static void fn1(List<List<Integer>> x){        System.out.println(x);    }    public static void main(String[] args) {        // Here aList is an ArrayList of ArrayLists        ArrayList<ArrayList<Integer>> aList =                new ArrayList<ArrayList<Integer>>();        // Create n lists one by one and append to the        // master list (ArrayList of ArrayList)        ArrayList<Integer> a1 = new ArrayList<Integer>();        a1.add(1);        a1.add(2);        aList.add(a1);        ArrayList<Integer> a2 = new ArrayList<Integer>();        a2.add(5);        aList.add(a2);        ArrayList<Integer> a3 = new ArrayList<Integer>();        a3.add(10);        a3.add(20);        a3.add(30);        aList.add(a3);        for (int i = 0; i < aList.size(); i++) {            for (int j = 0; j < aList.get(i).size(); j++) {                System.out.print(aList.get(i).get(j) + " ");            }            System.out.println();        }        fn1(aList);    }}我收到错误:错误:(41、13)java:不兼容的类型:java.util.ArrayList<java.util.ArrayList<java.lang.Integer>>无法转换为java.util.List<java.util.List<java.lang.Integer>>我有一个限制,我不能更改 fn1 的签名。
查看完整描述

1 回答

?
蓝山帝景

TA贡献1843条经验 获得超7个赞

使用 List 接口而不是具体类初始化对象。


public static void main(String[] args) {

        // Here aList is an ArrayList of ArrayLists

        List<List<Integer>> aList =

            new ArrayList<List<Integer>>();


查看完整回答
反对 回复 2023-06-14
  • 1 回答
  • 0 关注
  • 85 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信