0

嗨,我如何将 JTable 中的数据复制到 ArrayList 中?我不想要第一行是列名,我想要每一行。谢谢

4

2 回答 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 回答