我只是詢問指令:的String [] []澄清
String[][] s = new String[2][2];
如果我創造這個變量「s」,將我創建2行2列字符串表? 或2個表格與2個元素? 感謝您的澄清。
我只是詢問指令:的String [] []澄清
String[][] s = new String[2][2];
如果我創造這個變量「s」,將我創建2行2列字符串表? 或2個表格與2個元素? 感謝您的澄清。
Java沒有內建表數據類型,唯一的本地基本類型的類型(元類型?)是
其他的一切都必須由這些類型組成。 (使之複雜化的是,數組類型都被認爲是java.lang.Object
的子類型,它是所有其他類繼承的類)。
因此,您可以擁有特定類的數組,其中包含數組類型作爲類變量(字段)和數組數組,如下所示。
您的String[][]
類型由String數組的數組組成,new String[2][2]
數組創建表達式創建一個長度爲2的數組,每個元素本身是一個長度爲2的數組。這些數組的每個元素可以是一個字符串,但在創建時它首先是null
。
s --> [ 0 , 1 ]
| '----> [ null, null ]
|
'---------> [ null, null ]
現在,您可以把這些null
S變量的地方實際String
對象,如果你想通過使用s[0][1] = "Hello";
和類似聲明。
正如其他答覆者所說的那樣,如果需要,這樣的2D數組可以被視爲具有行和列的表格,但是從語言的角度來看,這並不是什麼特別的。
您正在創建一個二維數組。這是一個數組數組。
數組數組?所以最後我們將有一個4列和4行s [2] [2]的數組! 2個數組中包含2個數組! – androniennn 2011-03-20 01:12:57
這將在技術上建立一個數組 - 長度爲2的 - 串陣列的 - 也長度2.
的但對於所有的實際目的它可以爲具有2行和2列創建表被認爲。
「長度2」是什麼意思? 2行2列?爲什麼不簡單地使用表?主要區別是什麼? – androniennn 2011-03-20 01:10:54
問題是,在java中沒有內置的稱爲表的結構。所有存在的都是數組。一個數組就是你可以想象的只有一行的表,數組的長度就是它所具有的列的數量。 – 2011-03-20 14:59:23
數組的長度是我想它的行數!不是它的專欄!沒有? – androniennn 2011-03-20 23:23:24
它創建一個二維數組和兩個維度的兩個元素。
根據變量的唯一目的和它實際擁有的數據,您可以自由地解釋整個任何你想要的方式。具有2列和2行的表(矩陣)非常好。
請看我的第二個評論。 – androniennn 2011-03-20 00:46:29
那麼爲什麼簡單地使用一張桌子!使用二維數組的主要目的是什麼? – androniennn 2011-03-20 01:14:21
目的是爲了能夠使用兩個變量來引用特定數據。例如圖。第一個變量是x軸,第二個是y軸。或者當然只是一個有行/列的表格(更好的詞是矩陣或網格)。 – BalusC 2011-03-20 01:58:10
沒有表格。
有一個數組,數組只是對變量實際存儲的內存的引用。
它實際上將創建一個矩陣,該矩陣是一個陣列的每個元素是一個數組... 陣列的一個:[] [] 陣列中的兩個:[] []
它是正確的解釋:http://leepoint.net/notes-java/data/arrays/arrays-2D.html? – androniennn 2011-03-20 01:15:33
這是一個二維數組。就像寫作
String [][] s = new String[2][];
s[0] = new String[2];
s[1] = new String[2];
所以我認爲你的選擇都是正確的。
我認爲你掛了哪個是一個真實的解釋。
實際上,它們有很多正確的解釋或概念模型。哪一個是最合適/最有意義的取決於你在想的概念層面。
在語言/ JVM規範的層次上,您有一組字符串數組。
在語法層面,您看起來像是一個二維數組的字符串,列和行。對於很多操作,它的行爲完全像二維陣列。 (你可以做一些事情讓你的String [] []不像傳統的二維數組那樣工作,例如,你可以替換一個行來給出一個「數組」,其中行的長度不同。只有當您「分配」整行時纔會發生。)
在應用程序級別,您可以將其視爲表格...如果您想要。
您在一個評論中鏈接到的解釋是正確的,所有答案也是如此。他們都在說(或試圖說)同樣的事情。 (。順便說一句 - 這是@ BalusC的回答是說我只是在闡述)
所以,當你問:
如果我創造這個變量 「s」,我會創建一個2行2列的字符串表嗎?或2個表格與2個元素?
...答案是,這些都是這些,這取決於你的觀點,以及你的應用程序如何使用它們。從其他角度來看,它也是一串字符串數組,或者一個二維字符串數組。
我將標記從android更改爲java。這是一個java問題,而不是一個特定於android的問題。 – 2011-03-20 00:36:23