繁体   English   中英

锯齿状阵列和矩形阵列之间的区别

[英]Difference between jagged and rectangular arrays

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

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

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 支持锯齿状数组。

这取决于您使用它的目的。 如果您尝试实现像棋盘这样的 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();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM