我有可变数量的二维数组。 第一维是可变的,第二维是不变的。 即:
Object[][] array0 = {
{"tim", "sanchez", 34, 175.5, "bla", "blub", "tim@tim.com"},
{"alice", "smith", 42, 160.0, "la", "bub", "alice@sdf.com"},
...
};
Object[][] array1 = {
{"john", "sdfs", 34, 15.5, "a", "bl", "john@tim.com"},
{"joe", "smith", 42, 16.0, "a", "bub", "joe@sdddf.com"},
...
};
...
Object[][] arrayi = ...
我用 for 循环生成这些数组:
for (int i = 0; i < filter.length; i++) {
MyClass c = new MyClass(filter[i]);
//data = c.getData();
}
其中“filter”是另一个数组,其中填充了告诉“MyClass”如何填充数组的信息。 “getData()”返回第 i 个数组中的一个。
现在我只需要将所有内容都放在一个大的二维数组中。 即:
Object[][] arrayComplete = {
{"tim", "sanchez", 34, 175.5, "bla", "blub", "tim@tim.com"},
{"alice", "smith", 42, 160.0, "la", "bub", "alice@sdf.com"},
...
{"john", "sdfs", 34, 15.5, "a", "bl", "john@tim.com"},
{"joe", "smith", 42, 16.0, "a", "bub", "joe@sdddf.com"},
...
...
};
最后,我需要一个二维数组来提供我的 Swing TableModel。
关于如何实现这个的任何想法?现在让我大吃一惊。
最佳答案
如果您开始从对象和集合而不是数组的角度来思考,您的头脑 Storm 将会大大减少。说真的,像这样处理数组真的太快了!这就是发明 OO 编程的真正原因。
从最简单的对象开始:用户。用户似乎包含名字和姓氏、年龄、其他内容和电子邮件地址。
现在您拥有所有用户集合了吗?管理起来很简单!
然后您必须将该组用户映射到 Swing 表模型。一个简单的 toArray() 方法可以返回您想要的一维数组。从这些创建二维数组应该很容易,等等(虽然我不确定二维数组是否可行)
此外,创建一个采用 Object[] 的 Person 构造函数,这样您就不必更改对象的创建方式——按照您的方式将它们创建为数组实际上非常有效。
如果在那之后仍然感到困惑,我们应该弄清楚为什么要用数组来填充表格模型——这真的有必要吗?通常对象的集合会更容易管理。
(对多次编辑感到抱歉。不知何故,我总是在点击保存后注意到更多...)
关于java - 可变数量的二维数组合并为一个大数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2562432/