java - 将列表添加到二维 ArrayList

标签 java list arraylist casting

如何在 java 中将 List 添加到 2D ArrayList 中。我有一些列表,我想将它们添加到 2D ArrayList 中。我发现不可能用新列表进行初始化。所以我试图将一个列表添加到 Arraylist 中。

   ArrayList<List<Feature>> featureMatrix= new   ArrayList<ArrayList<Feature>>();

    for (int i = 0; i < imageNames.size(); i++) {
        List<Feature> temp;
        for (int j = 0; j < imageNames.get(i).size(); j++) {

            System.out.println(train_path + fileNames.get(i) + "/" + imageNames.get(i).get(j));
            File img = new File(train_path + fileNames.get(i) + "/" + imageNames.get(i).get(j));
            BufferedImage in = ImageIO.read(img);

            Extractor e = new Extractor();
            temp = e.computeSiftFeatures(in);
            System.out.println(temp);   
            featureMatrix.add(temp);
        }

    } 

以上代码返回类型不匹配。

最佳答案

这是可能的,但是 ArrayList<List<Feature>> 不是 ArrayList<ArrayList<Feature>> ,这就是你得到类型不匹配的原因(阅读 Java 中的泛型协变)。也就是说,您的嵌套列表应定义为:

List<List<Feature>> featureMatrix = new ArrayList<List<Feature>>();

关于java - 将列表添加到二维 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21850539/

相关文章:

list - 了解列表上的模式匹配

java - 计算给定字符串在 ArrayList 中的出现次数

java - 用于应用程序引擎 2 应用程序引擎身份验证的应用程序身份服务

java - 围绕多边形计算 Voronoi

Python:识别和删除列表中的重复序列

Python-更改列表列表中的元素

java - 查找最小值(昨天,最大值(laSTLogin,迁移日期))

java - HashMap 的键和值不是唯一的吗?

java - 如何向数组列表中的现有元素添加信息?

java - 当我尝试调用主方法之外的方法时出现 NullPointerException