usar tabla mostrar matriz los llenar llenado imprimir datos con como arreglo java arrays list jtable

tabla - Lista anidada de Java para la conversión de matriz



llenar jtable con matriz java (2)

Para JTable en particular, sugeriría que subclases AbstractTableModel así:

class MyTableModel extends AbstractTableModel { private List<List<String>> data; public MyTableModel(List<List<String>> data) { this.data = data; } @Override public int getRowCount() { return data.size(); } @Override public int getColumnCount() { return data.get(0).size(); } @Override public Object getValueAt(int row, int column) { return data.get(row).get(column); } // optional @Override public void setValueAt(Object aValue, int row, int column) { data.get(row).set(column, aValue); } }

Nota: esta es la implementación más básica posible; la verificación de errores se omite por brevedad.

Usando un modelo como este, no tiene que preocuparse por las conversiones sin sentido a Object[][] .

¿Cuál es la forma más eficiente de convertir datos de listas anidadas a una matriz de objetos (que se puede usar, por ejemplo, como datos para JTable)?

List<List> table = new ArrayList<List>(); for (DATAROW rowData : entries) { List<String> row = new ArrayList<String>(); for (String col : rowData.getDataColumn()) row.add(col); table.add(row); } // I''m doing the conversion manually now, but // I hope that there are better ways to achieve the same Object[][] finalData = new String[table.size()][max]; for (int i = 0; i < table.size(); i++) { List<String> row = table.get(i); for (int j = 0; j < row.size(); j++) finalData[i][j] = row.get(j); }

¡Muchas gracias!


//defined somewhere List<List<String>> lists = .... String[][] array = new String[lists.size()][]; String[] blankArray = new String[0]; for(int i=0; i < lists.size(); i++) { array[i] = lists.get(i).toArray(blankArray); }

No sé nada sobre JTable, pero la conversión de una lista de listas a una matriz se puede hacer con unas pocas líneas.