Consider this two dimensional array.
String[][] names = { {"Sam", "Smith"},
{"Robert", "Delgro"},
{"James", "Gosling"},
};
使用经典的方式,如果我们要访问二维数组的每个元素,那么我们需要使用两个for循环来迭代遍历二维数组。
for (String[] a : names) {
for (String s : a) {
System.out.println(s);
}
}
是否有一种新的优雅方式,使用Java 8特性(Lambda、方法引用、流等)循环和打印2D数组?
目前我尝试的是这样的:
Arrays.asList(names).stream().forEach(System.out::println);
输出:
[Ljava.lang.String;@6ce253f1
[Ljava.lang.String;@53d8d10a
[Ljava.lang.String;@e9e54c2
String
转换为int
? - Holgerfor (int[] a : names) { for (int i : a) { System.out.println(i); } }
编辑为for (String[] a : names) { for (String s : a) { System.out.println(s); } }
感谢 @Holger。 - MChaker