java - 如何将 2D arraylist 传递给接受 2D List 的函数

标签 java list arraylist

尝试了2天后,终于在stackoverflow上询问:How to pass a 2D Arraylist to 2D 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);
    }
}

我收到错误:

Error:(41, 13) java: incompatible types: java.util.ArrayList<java.util.ArrayList<java.lang.Integer>> cannot be converted to java.util.List<java.util.List<java.lang.Integer>>

我有一个限制,我无法更改 fn1 的签名。

最佳答案

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

public static void main(String[] args) {
        // Here aList is an ArrayList of ArrayLists
        List<List<Integer>> aList =
            new ArrayList<List<Integer>>();

关于java - 如何将 2D arraylist 传递给接受 2D List 的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57558782/

相关文章:

java - 异常 - 无法从资源中找到可绘制的图标

python:改变列表的副本会更改原始列表吗?

java - ClassNotFoundError 数组列表

java - 如何在android中从arraylist中使文本的一部分加粗

java - 有没有更有效的方法在ArrayList和Array之间进行转换

java - 无法迭代 List<MultipartFile>

java - 如何使用 Process Builder 在 Java 中运行 NPM 命令

java - Netty IdleStateHandler 对于大消息超时

python - 从列表中删除列表中的每一项

java - 根据java中的字母将按字母顺序排序的列表拆分为子列表