In einer ArrayList<MyClass> sind n Objekte mit jeweils m Instanzvariablen gelistet. Die Klasse MyClass verfügt über eine Methode getObjList(), die alle m Instanzvariablen in einer LinkedList<Object> auszulesen kann. Gesucht ist eine Methode die aus den beiden Listen ein 2 dimensionales Array[n][m] zaubert, dass ich z.B. als Input für eine javax.swing.table.AbstractTableModel Klasse verwenden kann.
Mein erster Versuch mit der "list.toArray" Methode in der ArrayList Kapselklasse... ;-)
public Object[][] getObjArray() { return this.arrayListe.toArray(new Object[this.arrayListe.size()][this.arrayListe.get(0).getObjList().size()]); }
Das Array ist sicher gut dimensioniert aber es gibt eine : java.lang.ArrayStoreException!!
ein eindimensionales Array erwartet wird, aber ein zweidimensionales Array übergeben wird.
Ich denke, Deine Methode müsste in etwa so aussehen:
public Object[][] getObjArray() { Object[][] ret = null; if (arrayListe != null && arrayListe.size() > 0) { int n = arrayListe.size(); int m = arrayListe.get(0).getObjList().size(); ret = new Object[n][m]; for (j=0; j<n; j++) { MyClass mc = arrayListe.get(j); List<Object> objList = mc.getObjList(); for (k=0; k<m; k++) { ret[j][k] = objList[k]; } } } return ret; }