如何存储矩阵

时间:2018-07-30 19:40:28

标签: android kotlin

我正在处理大型矩阵

var counterMatrix1 = Array(heroCount + 1, {DoubleArray(heroCount + 1)})

我需要将其保存到数据库并加载。您认为这是最好的方法。有什么建议吗?

2 个答案:

答案 0 :(得分:1)

我不确定在Kotlin中如何做到这一点,但是在Java中,我将创建一个Matrix类并将其包装在我的数组对象周围(我假设您有一个二维矩阵,但是相同的想法适用于不同的矩阵)。然后使用Gson库将其转换为JSON,然后将JSON字符串保存到数据库中。要将其从数据库返回到数据库的Matrix对象中,请再次使用Gson对其进行反序列化。这是一个示例:

public class Matrix {

    public CustomObject[][] = new CustomObject[r][c]; //where r and c can be any value for capacity

}

然后在将Matrix保存到数据库时执行以下操作:

Matrix matrix = new Matrix();

//Do stuff with your matrix, add data to it, etc..

//Then save it your DB

Gson gson = new Gson();
String matrixJson = gson.toJson(matrix);

saveMatrixJsonToDB(matrixJson);

要从数据库加载回去,我会这样做:

public void loadMatrixFromDB(/*any params to connect to DB*/) {
    String matrixJson;
    //Connect to db and retrieve your matrix json string that you previously saved...

    //Then convert it back to the Java object
    Gson gson = new Gson();
    Matrix matrix = gson.fromJson(matrixJson, Matrix.class);
}

答案 1 :(得分:-2)

您可以将该数组保存为json格式,然后可以将其序列化回数组。

例如:

int[] NumberList=new int{1, 2, 3, 4, 5, 6} 

是一维数组,采用json格式,如下所示:

{  "NumberList" : [1,2,3,4,5,6] }