[英]How to iterate only through the first row of a 2d array?
我有一个初学者问题。
如何仅遍历 Java 中二维数组的第一行?
例如,如果我有:
int[][] array = {{5, 22, 30, 40, 30}, {96, 20, 30, 25, 25}};
我如何只遍历{5, 22, 30, 40, 30}
或{96, 20, 30, 25, 25}
?
在 JAVA 中,二维数组表示1D array of 1D arrays
; 即每一行都是单独的一维数组(因此它们可以有不同的大小)。
int[][] arr = new int[2][3]
表示您创建了 2D arrays,每行2
行3
列。 行和列是零索引,因此要访问第一行,您应该使用0
索引。
int[][] array = {{5, 22, 30, 40, 30}, {96, 20, 30, 25, 25}};
System.out.println(Arrays.toString(array[0])); // {5, 22, 30, 40, 30}
System.out.println(Arrays.toString(array[1])); // {96, 20, 30, 25, 25}
简单的:
第一个方括号用于 ¿ 您要查找的数组? {5, 22, 30, 40, 30}
[0] 还是{96, 20, 30, 25, 25}
[1]?
然后,第二个方括号用于:¿您要查找数组中的哪个元素? 要检索{5, 22, 30, 40, 30}
的 22,您可以使用 [0] [1]、[menaing First array] 和 [second element of array selected]。
编辑
您需要 2 for
cicles 来迭代所有元素:
for (int row = 0; row < array.length; row++) {
for (int col = 0; col < array[row].length; col++) {
System.Out.Println(array[row][col]);
}
}
来源在这里
编辑 #2要仅对第一个数组进行迭代,请将第一个方括号刻录为 [0]:
for (int col = 0; col < array[0].length; col++) {
System.Out.Println(array[0][col]); // Iterating only the first array elements.
}
您可以为此目的使用Stream
:
int[][] array = {{5, 22, 30, 40, 30}, {96, 20, 30, 25, 25}};
System.out.println(Arrays.stream(array[0])
.mapToObj(String::valueOf)
.collect(Collectors.joining(" "))); //5 22 30 40 30
System.out.println(Arrays.stream(array[1])
.mapToObj(String::valueOf)
.collect(Collectors.joining(" "))); //96 20 30 25 25
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.