簡體   English   中英

動態二維數組

[英]dynamic 2 dimensional array

我有一個可以創建值列表的程序。 (字符串,雙精度型,雙精度型,雙精度型)我想將這些值存儲在數組,向量或數組為array [x] [4]的數組中。 我怎樣才能做到這一點?

您可以使用Object數組的ArrayList

例如

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

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

更新

可以按如下方式打印它們(因為我們知道數組元素是StringDouble

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

但我確實相信,在這里將類用於OOP會更好。

為簡單起見:

創建具有四個字段的數據對象類:

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

然后將此對象存儲在List中:

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

如果您的類存在於同一java文件中(因此它位於同一包中)-由於默認的包可見性訪問,您可以避免使用訪問器。

如果創建一個類並在其中聲明這四個字段並將該類的對象存儲到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);
    }
}

我認為這樣會更容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM