【问题标题】:How to slice a 2-D Java array?如何对二维 Java 数组进行切片?
【发布时间】:2012-12-16 04:02:56
【问题描述】:

各位,

我正在使用 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,您可以改用 Vectors。或者创建您自己的模型,使用您喜欢的任何 Collection 类型。
  • 我不确定你的意思。我使用数组作为从 JSON 到表数据的中间存储。 JTable 被限制为 Object[][] 类型的数组。

标签: java multidimensional-array


【解决方案1】:

是的 - 您可以使用 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);
}

【讨论】:

    猜你喜欢
    • 2021-01-29
    • 1970-01-01
    • 1970-01-01
    • 2013-06-21
    • 2020-08-07
    • 2013-04-12
    • 2014-04-04
    • 1970-01-01
    • 2016-02-20
    相关资源
    最近更新 更多