2015-11-05 106 views
-1

所以我認識到,主要區別是可以容納不同大小的行或列,而另一個具有相同的大小。還有其他的區別嗎? 此外,我將如何去實現每個代碼?鋸齒狀和矩形陣列之間的差異

如果這個問題已被問到,請不要猶豫,關閉這個問題,並將我鏈接到問題。

+0

是否有任何特定的用途需要您使用? – phflack

+0

我想我只是想獲得更好的理解,因爲它們在代碼語法中看起來很相似。 –

回答

-1

這取決於你正在使用它。如果你想要像棋盤一樣實現2D網格,你需要一個矩形陣列。如果你試圖爲每行實現一個帶有數組的文件類系統,每行都是一個單詞數組,那麼它將會是鋸齒狀的。

矩形棋盤:

int[][] chessboard = new int[8][8]; 

鐵血文件表示(用10行):

BufferedReader reader = new BufferedReader(new FileReader("file")); 
String[][] file = new String[10][]; 
for(int i = 0; i < 10; i++) 
    file[i] = reader.readLine().split(); 
+0

downvote沒有解釋,有什麼好方法來改進 – phflack

1
int[][] rectangular = new int[10][10]; 
int[][] jagged = new int[10][]; 
for(int i = 0;i < 10; i++) 
    jagged[i] = new int[i+1]; 

首先一個創建一個10×10的矩形陣列,第二個產生一個鋸齒形陣列,其中第二維從1到9個元素。

有沒有重要的差異,但Java支持鋸齒陣列不像其他一些語言。

+0

出於好奇,哪些語言不支持鋸齒狀數組? – Andreas

+0

可能不是很多,因爲這將是一個非常有限的特性,並且有點奇怪。 – phflack

+0

好吧,'C'沒有「真實」鋸齒狀數組,需要指針才能獲得相同的效果。 – Kayaman