Java 如何从嵌套数组中获取值或索引并比较条件

Java 如何从嵌套数组中获取值或索引并比较条件,java,Java,如何分别显示john或mary或alice或bob的值? 从示例嵌套数组中 String[][] kstemmers = new String[][] { {"John", "Mary"}, {"Alice", "Bob"} }; 将二维数组视为一个表(列和行) 所以基本上你有: John Mary Alice Bob 现在,使用这些列和行将其转换为一个表,得到如下结果: 0 1 ________________ 0 | John | Mary

如何分别显示john或mary或alice或bob的值? 从示例嵌套数组中

String[][] kstemmers = new String[][] {
    {"John", "Mary"}, 
    {"Alice", "Bob"}
};

将二维数组视为一个表(列和行)

所以基本上你有:

John Mary
Alice Bob
现在,使用这些列和行将其转换为一个表,得到如下结果:

     0       1
  ________________
0 | John  | Mary |
1 | Alice | Bob  |
因此,要获得“Mary”,可以使用
kstemmers[0][1]


有Java 8流解决方案可用,但我认为在提供2d数组之前最好先了解2d数组的基本概念。

将2d数组视为一个表(列和行)

所以基本上你有:

John Mary
Alice Bob
现在,使用这些列和行将其转换为一个表,得到如下结果:

     0       1
  ________________
0 | John  | Mary |
1 | Alice | Bob  |
因此,要获得“Mary”,可以使用
kstemmers[0][1]


有Java 8流解决方案可用,但我认为在提供2d阵列之前最好先了解2d阵列的基本概念。

将流与Java 8结合使用:

    Arrays.stream(kstemmers)
            .map(kstemmer -> String.join(" ", kstemmer))
            .forEach(System.out::println);

在Java 8中使用流:

    Arrays.stream(kstemmers)
            .map(kstemmer -> String.join(" ", kstemmer))
            .forEach(System.out::println);
使用java8“flatMap”进行游戏。一种方法可能是跟随

List<String> collection = Arrays.stream(kstemmers).flatMap(Arrays::stream).collect(Collectors.toList());
List collection=Arrays.stream(kstemmers).flatMap(Arrays::stream).collect(Collectors.toList());
然后迭代列表

使用java8“flatMap”进行游戏。一种方法可能是跟随

List<String> collection = Arrays.stream(kstemmers).flatMap(Arrays::stream).collect(Collectors.toList());
List collection=Arrays.stream(kstemmers).flatMap(Arrays::stream).collect(Collectors.toList());

然后在列表上迭代查看。
kstemmers[0][0]
->
“John”
kstemmers[0][1]
->
“Mary”
kstemmers[1][0]
“Alice”
kstemmers[1][1]
“Bob”
“Bob”
查看。
->
“玛丽”
kstemmers[1][0]
->
“爱丽丝”
kstemmers[1][1]
->
“鲍勃”
谢谢,我在这个系统上有错误。out.print(Arrays.toString(kstemmers[0][0]);因为您不需要
Arrays.toString
-当您使用
kstemmers[0][0]
时,它会返回stringThank,我在这个系统上有错误。out.print(Arrays.toString(kstemmers[0][0]);因为您不需要
数组.toString
——当您使用
kstemmers[0][0]
时,它会返回一个字符串