我正在处理大型矩阵
var counterMatrix1 = Array(heroCount + 1, {DoubleArray(heroCount + 1)})
我需要将其保存到数据库并加载。您认为这是最好的方法。有什么建议吗?
答案 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] }