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

问题描述 投票:0回答:2

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

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(..).

我需要将 user 从 listUser(id) 方法设置为 Object[][] 数组。

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

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

你能帮我吗?

java multidimensional-array
2个回答
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[][]
也不是一个好主意(不确定您使用它的原因),因为它需要在检索/使用字段时进行显式转换。


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.