Java嵌套列表到数组的转换
将数据从嵌套列表转换为对象数组(可以用作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);
}
非常感谢
# 1 楼答案
要将嵌套列表转换为二维对象数组,可以使用以下代码:
# 2 楼答案
特别是对于
JTable
,我建议将AbstractTableModel
子类化如下:注:这是可能的最基本实现;为了简洁起见,省略了错误检查
使用这样的模型,您不必担心到
Object[][]
的无意义转换