2012-01-04 110 views
0

我有一個程序,創建值的列表。 (字符串,雙精度,雙精度,雙精度)我想將這些值存儲在數組,數組[array] [x] [4]中。我怎樣才能做到這一點?動態2維陣列

回答

3

可以使用的Object小號數組的ArrayList

例如

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

你如何將打印的是這樣的結果? – Mike 2012-01-04 23:54:09

+0

@Mike:查看更新。 – 2012-01-05 05:00:41

1

爲了保持它的簡單:

有4個字段創建Data Object類:

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

這個對象,然後存儲在表:

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

如果你的類存在於同一個Java文件(所以它是在同一個包) - 你可以避免使用訪問器,因爲默認的包可見性訪問。

+0

+1:Java是在類的非常好,沒有必要使用對象數組,只是因爲你會在不同的語言使用數組。 – unholysampler 2012-01-04 23:51:11

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); 
    } 
} 

會讓我覺得更容易。