嗨,我如何将 JTable 中的数据复制到 ArrayList 中?我不想要第一行是列名,我想要每一行。谢谢
问问题
4463 次
2 回答
1
如果您在不使用任何对象的情况下将数据存储在表中,那么只需逐行遍历表并获取每个对象并将其存储在列表中。
示例:这是当您使用列表来存储数据时。
List<Object> list = new ArrayList<Object>;
for(int row = 0; row < table.getRowCount(); row++) {
for(int column = 0; column = table.getColumnCount(); column++) {
list.add(table.getValueAt(row, column));
}
}
最后,您将获得列表中的所有对象。
编辑:
由于每一行都是类型的对象,CustomObject
我们需要将表的每个值设置为类型的对象,CustomObject
并将其添加到每一行的列表中。
class CustomObject {
Object one;
Object two;
}
List<CustomObject> list = new ArrayList<CustomObject>;
for(int row = 0; row < table.getRowCount(); row++) {
CustomObject object = new CustomObject();
for(int column = 0; column = table.getColumnCount(); column++) {
switch(column) {
case 0:
object.setOne(table.getValueAt(row, column));
break;
case 1:
object.setTwo(table.getValueAt(row, column));
break;
}
}
// Store each object in the list.
list.add(object);
}
于 2012-12-25T11:16:29.180 回答
0
首选且稳健的方法是使用 TableModel。使用 JTable.getModel() 来获取它。一旦你有了一个 TableModel,你可以使用它的 API 来通过 getValueAt(int rowIndex, int columnIndex) 知道它在任何位置的值,然后将它存储在你的 List 中。
于 2012-12-25T11:07:39.273 回答