2011-05-26 153 views
2

嗨,我是新來的java.After所以研究我面臨的問題,我嘗試帖子問一些問題。java多維數組聲明1 * 3維?

最近我正在做一個文本分析軟件。 我試着用1 * 3維數組完成。 像

[0] 
    [][][] 
[1] 
    [][][] 
[2] 
    [][][] 
[3] 
    [][][] 

在每個第二維三個欄是用於保存第一個維度的細節。 但是第二維數組的大小還不知道,這意味着,idont知道我會從文本中找到多少我將要搜索的內容。一旦目標找到,它就會增加。 是這樣做的愚蠢的方式。 我知道java可以像int [] [] abc = new [5] []一樣聲明數組。 但它只能聲明一個未知維度。 然後我嘗試做這樣的事情

String [] abc = new string [4] 

然後我先做個假設,即大小的是,在第二個維度的第一列。

abc[0] = String [10][][] inside1; 
abc[1] = String [10][][] inside2; 
abc[2] = String [10][][] inside3; 
abc[3] = String [10][][] inside4; 

但我編譯它時仍然出錯。

我該如何做聲明或者有更好的方法來完成這件事。 如果我錯過了關於這個在互聯網上的任何帖子。請給我看任何關鍵字或鏈接讓我看看。

+0

看起來像4乘3(二維)數組。 – 2011-05-26 17:27:53

回答

0

例爲10x13矩陣:

String [] [] abd = new String [10] [13]; 

編輯:我選擇10x13,因爲1×3並沒有太大的意義,是第一個值1

+0

剛剛對於佈局感到抱歉。我想要做的是數組中的數組。這意味着在abd [0]有一個三維數組,abdinside [] [] []。我可以向你解釋清楚嗎? – nonamime 2011-05-26 17:26:54

+0

String [] [] [] [] abd = new String [] [] [] []; – Hyperboreus 2011-05-26 17:30:14

+0

忘了尺寸:String [] [] [] [] abd = new String [dim1] [dim2] [dim3] [dim4]; – Hyperboreus 2011-05-26 17:36:03

1

我想我明白你想什麼要做和它是這樣的:

   String[][] value = new String[4][3]; 

Java doenst有多維數組,它的數組在陣列中。

+0

Arrayception ... – alexcoco 2011-05-26 17:29:42

2

你試圖實現什麼?聽起來像你,而應該使用其中一個集合類與表示數據的值對象一起使用。

+0

是的,謝謝你的提及。我認爲創建一個新的類來處理它會更好。 – nonamime 2011-05-26 17:44:45

0

爲什麼不創建一個具有'name'屬性(或'索引',如果你喜歡的)的對象,和一個List類型的List屬性?

public class YourMultiDimensionalArrayObject { 
    private int index; 
    private List<String> vals; 

    public YourMultiDimensionalArrayObject(int _index) { 
     index = _index; 
    } 

    public void setValues(List<String> _vals) { 
     vals = _vals; 
    } 

    public int getIndex() { 
     return index; 
    } 

    public List<String> getVals() { 
     return vals; 
    } 
} 
0

您可以使用ArrayList來存儲未知長度的int值的數組。您可以使用ArrayList>來存儲無限數量的int數組。

0

如果你想解析一個文本文件,並且你知道每列表示什麼,你應該創建一個包含該數據的新對象。數組的陣列是一種不必要的痛苦駭客,如果你只是做Java設計用來編寫類的代碼,那麼你的代碼更易於維護。

+0

感謝您的評論,它啓發我。是的,我應該創建一個類來存儲數據。我對編程尤其是新手,尤其是面向對象。所以最近我很困惑什麼時候讓它變成一個類,或者讓它變成一個函數。任何書推薦瞭解這一點。 – nonamime 2011-05-26 17:35:48

0

我會創建一個List<List<String>>Map<String, List<String>>,假設您要存儲和查找的值是字符串。