如何在Java中将数据设置为多维数组?

时间:2017-04-16 20:13:09

标签: java multidimensional-array

我尝试将数据从列表设置为两个多维数组。 通常我可以将数据设置为两个多维数组,如下所示:

Object[][] newData = {
        { "test", "test2", 15.98, 0.14, "+0.88%",
                32157250 },
        { "AAPL", "Apple Inc.", 126.57, -1.97, "-1.54%", 31367143 }"

但是我想从列表中动态设置数据。 我有一个返回列表的方法:

List<User> user = listUser(id);
static User { 
     private int id;
     private String name;
     and getter(...),setter(..).

我需要将用户从listUser(id)方法设置为Object [] [] array。

我尝试这样做,但我无法获得成功的结果:

for (int i=0;i<user.size();i++){
            for(int j=0;j<user.size();j++){
                newData[i][j]=user.get(i).getName();

            }

        }

你能帮帮我吗?

2 个答案:

答案 0 :(得分:1)

列是固定的,即0,1,2等。你需要迭代并设置每行的数据,如下所示:

for (int i=0;i<user.size();i++){
  for(int j=0;j<user.size();j++){
   newData[i][j]=user.get(i).getId();//get id for each rowand set to 0th column
   newData[i][j]=user.get(i).getName();
   newData[i][j]=user.get(i).getX();//other fields
   newData[i][j]=user.get(i).getY();//other fields
  }
}

此外,使用Object[][](不确定您使用此原因的原因)并不是一个好主意,因为它在检索/使用字段时需要显式转换。

答案 1 :(得分:0)

看起来数据结构合理。我会创建一个类并保留私有“CompanyStock”类的单维数组,而不是使用危险的2d Object [] []数组。