哪种数据结构用于存储矩阵对?

Which data structure to use for storage of matrix pairs?

我需要一个容器来容纳 2 个不同大小的矩阵。

像这样:

import org.opencv.core.Core;
import org.opencv.core.Mat;


List<Mat, Mat> listOfMats = new ArrayList<Mat, Mat>(); 

显然我不能使用 ArrayList 因为参数的数量。

附加information:The两个参数数量相等。每对矩阵都相互依赖。 如果您想保持高效,您会在这里使用哪种数据结构。如果我需要在存储 space 和 运行 时间之间做出决定。我更喜欢第一个。

提前致谢

二维数组(列表)通常编码如下

List<Mat, List<Mat>> listOfMat = new ArrayList<Mat, List<Mat>>(); 

如果你经常遇到内部列表只有一个条目的情况, 你可以直接存储垫子,但你必须每次检查哪种类型 对象是:

List<Mat, Object> listOfMat = new ArrayList<Mat, Object>(); 

在一种情况下,对象是一个列表,在另一种情况下,它只是垫子。您可以查看

   if (obj instanceof Mat) {
       // it i sdirectly a Mat
    } else {
       // it is an List<Mat>
    }

Java中没有对元素。所以自己写一个:

public class MatrixPair {
   public Mat mat1;
   public Mat mat2;
   public MatrixPair(mat1, mat2) {
     this.mat1 = mat1;
     this.mat2 = mat2; 
   }
}

现在存储在一个数组或ArrayList中:

List<MatPairs> matPairs = new ArrayList<MatPair>();