如何对一个二维Java数组进行切片?

4

大家好,

我正在使用JTables,并有一个二维数组。我需要删除数组中每一行的第一个元素。除了下面这种方法,是否有更简单的方法呢?

int height = data2.length;
int width = data2[0].length;
Object[][] data = new Object[height][width];
for (int j=0; j<height; j++) {
    for (int i=1; i<width; i++) {
        data[j][i-1] = data2[j][i];
    }
}
data2 = data;

谢谢您的时间!

难道不使用数组会更容易吗?根据JavaDocs,您可以使用Vector代替。或者创建自己的模型,使用任何您喜欢的集合类型。 - Brian Roach
我不确定你的意思。我正在使用数组作为从JSON到表格数据的中间存储。JTable被限制为Object [][ ]类型的数组。 - masterial
1个回答

3

是的 - 你可以使用 System.arraycopy 替代内部循环:

Object[][] data = new Object[height][width];
for (int i = 0; i < height; i++) {
    System.arraycopy(data2[i], 1, data[i], 0, width-1);
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接