来自arraylists的填表

时间:2013-03-07 15:14:19

标签: java

我想用arraylist中存储的数据填充表y。 我有三个arraylists:bornesNombornesXbornesY,该表包含三列NomXY

我想设置TableModel但不知道如何。

该表基于此模型:

TableModel  bornesTableModel = new DefaultTableModel(
new String[][] { { "One", "Two","Two" }, { "Three", "Four", "Four" } },
new String[] { "Nom", "X", "Y" });

1 个答案:

答案 0 :(得分:1)

从您的评论中我假设实际问题是如何将3个列表转换为2维数组。

除了有3个单独的列表似乎是你设计中的一个严重缺陷(你最好有一个包含一个实例数据的对象列表),我会试着给你一个提示:

创建一个二维数组,第一个维度与列表大小相同。 然后同时遍历所有列表并提取给定索引处的数据。创建并填充长度为3的String数组,并将其分配给外部数组的索引。

我将提供一个小例子,但请记住,当列表不匹配时,您必须处理案例。

基本上它可能看起来像这样:

List<String> listA = ...;
List<String> listB = ...;
List<String> listC = ...;

//note: the lists could have different lengths so this is unsafe
//I'll leave this as an excercise for you
int listLength = listA.size(); 

String array[][] = new String[listLength][];

for( int i = 0; i < listA.size(); i++ )
{
  array[i] = new String[3];
  array[i][0] = listA.get( i );
  array[i][1] = listB.get( i );
  array[i][2] = listC.get( i );
}



另一种选择可能是根据3个列表滚动您自己的TableModel,但在此之前,请尝试使用适当的数据结构替换列表。