كيفية تخزين مصفوفة

1

أنا أعمل مع مصفوفة كبيرة

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

أحتاج إلى حفظه في ديسيبل وتحميله. ما رأيك هو أفضل طريقة للقيام بذلك. أي اقتراحات؟

2 الاجابة

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 = 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);

لتحميله مرة أخرى من DB ، سأفعل ذلك:

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);
}
:مؤلف
-2
افضل جواب

يمكنك حفظ هذا الصفيف بتنسيق json ، وبعد ذلك يمكنك إجراء تسلسل لهذا مرة أخرى إلى صفيف.

فمثلا:

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

صفيف أحادي البعد وفي شكل json يبدو:

{  "NumberList" : [1,2,3,4,5,6] }
:مؤلف
فوق
قائمة طعام