数组:
public static String[][] dhaka_header = {
{"a", "a", "a", "a", "a", "a", "a"},
{"b", "b", "b", "b", "b"},
{"c", "c", "c"},
};
如何访问每个数组元素?
答案 0 :(得分:5)
你有一个二维数组:array[rows][cols]
。
您可以使用嵌套for
访问数组的每个成员,如下所示:
for (int row = 0; row < array.length; row++) {
for (int col = 0; col < array[row].length; col++) {
array[row][col] = "0"; // whatever you want goes here
}
}
答案 1 :(得分:2)
对于二维数组
String[][] sa1 = new String[4][5];
for( int i = 0; i < sa1.length; i++) { // sa1.length == 4
for ( int j = 0; j < sa1[i].length; j++) { // sa1[i].length == 5
sa1[i][j] = "new String value";
}
}
答案 2 :(得分:1)
最简单的方法是使用foreach循环。
String[][] dhaka_header = {
{"a", "a", "a", "a", "a", "a", "a"},
{"b", "b", "b", "b", "b"},
{"c", "c", "c"},
};
for (String[] rowValues : dhaka_header) {
for (String value : rowValues) {
System.out.println(value); // or something else
}
}
如果您可以使用streams
,请或java8
。下面两个例子。
首先使用双foreach
Arrays.stream(dhaka_header)
.forEach(rowValues -> Arrays.stream(rowValues)
.forEach(value -> System.out.print(value))
);
和第二次使用flatmap
将数组展平为一维,然后foreach
对每个元素执行某些操作
Arrays.stream(dhaka_header)
.flatMap(Arrays::stream)
.forEach(value -> System.out.print(value));
答案 3 :(得分:0)
您可以为行和列实现嵌套for循环,如下所示
class mapping
{
public static String[][] dhaka_header = {
{"a", "a", "a", "a", "a", "a", "a"},
{"b", "b", "b", "b", "b"},
{"c", "c", "c"},
};
}
public class Testarr
{
public static void main(String arg[])
{
mapping obj=new mapping();
// outer loop for accessing rows
for(int i=0;i<obj.dhaka_header.length;i++)
{
// inner loop for accessing cols
for (int j=0;j<obj.dhaka_header[i].length;j++)
{
System.out.print(obj.dhaka_header[i][j]+" ");
}
System.out.println("");
}
}
}
// here is outputs looks like
a a a a a a a
b b b b b
c c c