将数据从JTable复制到ArrayList

时间:2012-12-25 10:43:41

标签: jtable

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

2 个答案:

答案 0 :(得分:0)

首选且强大的方法是使用TableModel。使用JTable.getModel()来获取它。 拥有TableModel之后,您可以使用其API来使用getValueAt(int rowIndex,int columnIndex)知道它在任何位置的值,然后将其存储在List中。

答案 1 :(得分:0)

如果您使用任何对象将数据存储在表中,则只需逐行遍历表并获取每个对象并将其存储在List中。

示例:这是在您使用列表存储数据时。

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);
}