动态二维数组

时间:2012-01-04 23:32:54

标签: java arrays list vector

我有一个程序可以创建一个值列表。 (String,double,double,double)我想将这些值存储在数组[x] [4]的数组,向量或数组中。我怎么能这样做?

3 个答案:

答案 0 :(得分:3)

您可以使用ArrayList个数组Object

e.g。

List<Object[]> list = new ArrayList<Object[]>();

list.add(new Object[]{"string", 2d, 1d, 0d});

<强>更新

它们可以按如下方式打印(因为我们知道数组元素是StringDouble s:

for(Object[] row : list) {
    System.out.println(row[0] + " " + row[1] + " " + row[2] + " " + row[3]);
}

但我确实认为在这里使用OOP课程要好得多。

答案 1 :(得分:1)

为了简单起见:

创建包含4个字段的数据对象类:

class MyDataObject {
   String firstParameter;
   double secondParameter;
   double thirdParameter;
   double fourthParameter;
}

然后将此对象存储在List:

List<MyDataObject> = new ArrayList<MyDataObject>();

如果您的类存在于同一个java文件中(因此它位于同一个包中) - 您可以避免使用访问器,因为默认的包可见性访问。

答案 2 :(得分:0)

如果您创建一个类并在其中声明这四个字段并将该类的对象存储到ArrayList中,如下例所示,该怎么办。

final class DemoClass
{
    String str="";
    double a;
    double b;
    double c;

    public DemoClass(String str, double a, double b, double c)
    {
        this.str=str;
        this.a=a;
        this.b=b;
        this.c=c;
    }

    public void doSomething()
    {
        //...
    }
}

final public class Main
{
    public static void main(String...args)
    {
        DemoClass dc=new DemoClass("SomeStrValue", 1, 2, 3);
        List<DemoClass>list=new ArrayList<DemoClass>();
        list.add(dc);
    }
}

我认为会更容易。