哪种数据结构用于存储矩阵对?
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>();
我需要一个容器来容纳 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>();