如何在 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/