锯齿状和矩形阵列之间的差异

时间:2015-11-05 19:33:28

标签: java arrays

所以我意识到主要的区别是一个可以容纳不同大小的行或列,而另一个具有相同的大小。还有其他差异吗? 另外,我将如何在代码上实现每个?

如果已经提出这个问题,请不要犹豫,关闭此链接并将我链接到问题。

2 个答案:

答案 0 :(得分: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];

第一个创建一个10x10矩形数组,第二个创建一个锯齿状数组,第二个维度从1到9个元素。

没有重要的差异,但Java支持与其他语言不同的锯齿状数组。

答案 1 :(得分:-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();