2017-12-18 189 views
-1

我有在Java中保存爲對象的汽車,其存儲另一數組的數組,它是建立在像這樣:訪問對象是在交織排列

陣列汽車:

- (Array)Car1 
    - Color 
    - Price 
- (Array)Car2 
    - Color 
    - Price 
- (Array)Car3 
    - Color 
    - Price 

簡化代碼如下所示:

String color = "yyy"; 
String price = "xxx"; 

String[] Car1 = { color, price }; 
String[] Car2 = { color, price }; 
String[] Car3 = { color, price }; 

String[][] Cars = { Car1, Car2, Car3 }; 

現在,我怎麼能訪問像Car1顏色交錯對象通過陣列Cars現在?

我試圖在循環內使用循環,但我無法得到正確的解決方案。

編輯:我知道這將是一個更好的解決方案,使用一個Car類,但我感興趣的是如何使用這樣的交錯數組。

+1

爲什麼「Car」類的顏色和價格屬性不? – Kayaman

+3

而不是使用字符串數組,使用類來表示數據。 –

+0

看看編輯 –

回答

1

的顏色,如果你對汽車創建一個類,並與你需要的屬性的工作會更好:

public class Car{ 
    private String color; 
    private String price; 

    //constructor, getter and setters 
} 

但是,如果你真的需要在你問的方式,你可以使用:

Cars.get(indexOfCar).get(indexOfList); 
    |  |    | 
    |  |    |> Which String of the List you need 
    |  |  
    |  |> Which Car you need of Cars (Car1, Car2, Car3) 
    | 
    |> The List name 

或者,如果你需要靜態數組做到這一點,你可以以同樣的方式:

Cars[indexOfCar][indexOfList]; 
0

使用類似下面的類來表示你的汽車。然後Car陣列將完成這項工作。

public class Car { 
    private String color; 
    private Double price; 
    public String getColor() { 
     return color; 
    } 
    public void setColor(String color) { 
     this.color = color; 
    } 
    public Double getPrice() { 
     return price; 
    } 
    public void setPrice(Double price) { 
     this.price = price; 
    } 

} 
+0

沒有理由在這裏使用'Double'。原始狀態很好。 – Michael

0

如果你想進入汽車的性能,你需要做的是這樣

Cars.get(<car index>).get(<property index>) 

例如爲分享幫助

String colorOfCar1 = Cars.get(0).get(0) 
+0

你注意到'Cars'是一個數組,而不是一個List?那麼,在整個問題上的「ArrayList」可能會誤導我......我會建議編輯。 –