4

抱歉第一次在这里提问。

如果我有这样的二维数组:

int[][] array2d = {{1, 2, 3}, {6, 7, 8}};

如何像这样添加多个一维数组:

int[] array1d = {3, 2, 1};
int[] array1d2 = {8, 7, 6};

这样我原来的二维数组就变成了这样:

int[][] array2d = {{1, 2, 3}, {6, 7, 8}, {3, 2, 1}, {8, 7, 6}};

注意:这是为了在按下按钮时将来自 JTextfield 的信息添加到 JTable 中。因此,二维数组将用作表内的数据。如果有更好的方法来实现这一点,我也会很感激。=)

4

2 回答 2

6

你的数组:

int[][] array2d = {{1, 2, 3}, {6, 7, 8}};

大小是固定的,因此您必须创建一个具有足够容量的副本来保存新值:

int[][] newArray = Arrays.copyOf(array2d, 4);
newArray[2] = array1d;
newArray[3] = array1d2;

要将数据添加到JTable数组中,必须首先将其转换为非原始类型,例如Integer数组。一种选择是使用 Apache Commons:

model.addRow(ArrayUtils.toObject(array));

对于数组的每一行。

于 2012-12-13T00:27:14.717 回答
1

数组是固定大小的,因此要附加它,您需要调整数组的大小,请查看 java.util.Arrays。

然后设置数组位置

arra2d[index] = array1d;

您是否有理由不使用

TableModel.addRow(dataArray);

?

于 2012-12-13T00:24:40.273 回答