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

尝试了 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 的签名。


莫回无
浏览 86回答 1
1回答

蓝山帝景

使用 List 接口而不是具体类初始化对象。public static void main(String[] args) {&nbsp; &nbsp; &nbsp; &nbsp; // Here aList is an ArrayList of ArrayLists&nbsp; &nbsp; &nbsp; &nbsp; List<List<Integer>> aList =&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; new ArrayList<List<Integer>>();
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java