Hallo,
ich brauche nochmal Eure Hilfe:
Ich lese in meinem Programm ein spezielles Dateiformat ein, dessen Inhalt (viele Objekte mit Eigenschaften, verschiedener Klassen) in ein Array gespeichert werden sollen. Das funktioniert auch einwandfrei, solange es nur um zweidimensionale Objekte geht. Nun habe ich aber auch 3dimensionale Objekte/Arrays ([Klasse][Objektnummer][Eigenschaften]), wobei die Objektzahl von Klasse zu Klasse unterschiedlich ist. Zuerst habe ich es so definiert
, aber da ich dann eine größe vorgeben mußte, konnte ich es nicht beliebig erweitern/ verkleiner und beim speichern des Formats habe ich dann leere Objekte mit drin bzw. es macht alles unnötig kompliziert.
So gehts weiter:
Also habe ich das nochmal in eine Arraylist gepackt, an anderer Stelle/Klasse wandle ich mir das in eine brauchbare Arraylist zum verändern um mit
Das ist ja irgendwie alles Müll, oder? Ich kann irgendwie nicht auf die floats beim Schreiben zugreifen und sonst auch nicht, es sei denn ich mache mir wieder ein neues Array
Wie kann ich das richtig und besser machen? Bitte dringend um Hilfe! Wie kann man Arrays veränderbar etc. machen?
gruß
börri
ich brauche nochmal Eure Hilfe:
Ich lese in meinem Programm ein spezielles Dateiformat ein, dessen Inhalt (viele Objekte mit Eigenschaften, verschiedener Klassen) in ein Array gespeichert werden sollen. Das funktioniert auch einwandfrei, solange es nur um zweidimensionale Objekte geht. Nun habe ich aber auch 3dimensionale Objekte/Arrays ([Klasse][Objektnummer][Eigenschaften]), wobei die Objektzahl von Klasse zu Klasse unterschiedlich ist. Zuerst habe ich es so definiert
Code:
float [][][] LibArray=new float [Klasse][Objekt][Eigenschaft];
So gehts weiter:
Code:
if (numberofobjects[i] != 0) {
for (int l = 0; l < numberofobjects[i]; l++) {
for (int k = 0; k < 6; k++) {
byte1 = in.readUnsignedByte();
byte2 = in.readUnsignedByte();
byte3 = in.readUnsignedByte();
byte4 = in.readUnsignedByte();
LibArray[i][l][k] = (readFloatLittleEndian(byte1, byte2, byte3,
byte4));
if ( ( (LibArray[i][l][0] == 0.0) && (LibArray[i][l][1] == 0.0) &&
(LibArray[i][l][2] == 0.0) && (LibArray[i][l][3] == 0.0) &&
(LibArray[i][l][4] == 0.0) && (LibArray[i][l][5] == 0.0)) |
l == 100) {
break;
}
}
}
LibArrayList.add(LibArray[i]);
}
} {
Also habe ich das nochmal in eine Arraylist gepackt, an anderer Stelle/Klasse wandle ich mir das in eine brauchbare Arraylist zum verändern um mit
Code:
float LibArray[][][] = (float[][][]) leseKlasse.LibArrayList.toArray(new float[
0][0][0]);
Wie kann ich das richtig und besser machen? Bitte dringend um Hilfe! Wie kann man Arrays veränderbar etc. machen?
gruß
börri