使用for循环创建多维数组

Dou*_*lis 4 java for-loop multidimensional-array

有许多已解决的多维数组帖子,但我很难通过for循环创建一个.

这是我想要做的代码的代码片段.

//Get a list of Person objects using a method
ArrayList<Person> people = getPeopleList();

//Create an array of 10 Objects with 4 values each
Object[][] data = new Object[10][4];

int count =1;
for(Person p: people)
{
    //This wont compile. This line is trying to add each Object data with values
    data[count-1][count-1] = {count, p.getName(), p.getAge(), p.getNationality()};
    count++;
}

//I then can add this data to my JTable..
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我如何使用for循环创建这个多维数组.我不想要一个Person多维数组.它需要是一个Object多维数组吗?谢谢

Jon*_*eet 9

好吧,你可以这样做:

//Get a list of Person objects using a method
ArrayList<Person> people = getPeopleList();
Object[][] data = new Object[people.size()][];

for(int i = 0; i < people.size(); i++)
{
    Person p = people.get(i);
    data[i] = new Object[] { i, p.getName(), p.getAge(), p.getNationality() };
}
Run Code Online (Sandbox Code Playgroud)

这会有效,但它非常难看.如果我是你,我会考虑让Swing Person更好地"理解"你的课程,以避免需要它Object[][].