C
carsten123
Gast
Hallo,
ich habe folgendes Problem:
Ich arbeite mit einer relativ großen "3D-Matrix" (double[][][] matrix), also eine Art Würfel (3 Dimensionen). Ich möchte nun aus diesem Würfel verschiedene Ebenen (z.B. eine Scheibe aus der X-Y Ebene), ich nenne es mal extrahieren und diese Ebene (eine 2-dimensionale Matrix) in einer JTable darstellen.
Momentan lege ich dafür eine neue 2-dimensinale Matrix an und kopiere die entsprechenden Werte mittels eher "unschönem Code" da hinein und stelle dann die Kopie der Daten in einer JTable dar. Das Problem ist aber, dass die Matrizen recht groß sind und das kopieren doch relativ lange dauert (und es keinen Sinn macht zu Kopieren, da die Werte ja bereits existieren). Es fehlt also nur eine prktikable Möglichkeit an sie heranzukommen.
Kennt jemand eine Möglichkeit dieses Problem vielleicht zu umgehen. Mit Pointern wäre es ja relativ einfach, aber die gibt es ja leider (noch nicht) in Java.
Gibt es da eine performantere Alternative zum Kopieren, da das Kopieren eigentlich total überflüssig ist.
Ich hab schon probiert es mit dem Datentyp Double zu machen, was aber auch nicht wirklich Sinn macht.
Ein Ansatz ist vielleicht, anstatt den Datentyp
ein
mit nur einem Element zu verwenden, das hätten den Vorteil, das man eine Art Pointerfunktion erhalten würde, z.B:
Diese Lösung macht den Quellcode jedoch extrem hässlich und unverständlich.
Vielleicht weiß ja jemand eine bessere Lösung oder kann mir wenigstens bestätigen, dass es keine bessere Alternative gibt.
schon mal danke im Voraus
carsten
ich habe folgendes Problem:
Ich arbeite mit einer relativ großen "3D-Matrix" (double[][][] matrix), also eine Art Würfel (3 Dimensionen). Ich möchte nun aus diesem Würfel verschiedene Ebenen (z.B. eine Scheibe aus der X-Y Ebene), ich nenne es mal extrahieren und diese Ebene (eine 2-dimensionale Matrix) in einer JTable darstellen.
Momentan lege ich dafür eine neue 2-dimensinale Matrix an und kopiere die entsprechenden Werte mittels eher "unschönem Code" da hinein und stelle dann die Kopie der Daten in einer JTable dar. Das Problem ist aber, dass die Matrizen recht groß sind und das kopieren doch relativ lange dauert (und es keinen Sinn macht zu Kopieren, da die Werte ja bereits existieren). Es fehlt also nur eine prktikable Möglichkeit an sie heranzukommen.
Kennt jemand eine Möglichkeit dieses Problem vielleicht zu umgehen. Mit Pointern wäre es ja relativ einfach, aber die gibt es ja leider (noch nicht) in Java.
Gibt es da eine performantere Alternative zum Kopieren, da das Kopieren eigentlich total überflüssig ist.
Ich hab schon probiert es mit dem Datentyp Double zu machen, was aber auch nicht wirklich Sinn macht.
Ein Ansatz ist vielleicht, anstatt den Datentyp
Code:
int
Code:
int[]
Code:
int[] a = {2};
int[] b = a
System.out.println("b: "+b[0]); // b: 2
a[0] = 5;
System.out.println("b: "+b[0]);// b: 5
Vielleicht weiß ja jemand eine bessere Lösung oder kann mir wenigstens bestätigen, dass es keine bessere Alternative gibt.
schon mal danke im Voraus
carsten