获取数组值的每个元素

ffx8fchx  于 2021-07-08  发布在  Java
关注(0)|答案(2)|浏览(334)

我有一个哈希图

private Map<String, int[]> aMap = new HashMap<String, int[]>();

我在里面放了多个值

aMap.put("3", new int[]{7, 14, 21, 28, 35, 42, 49, 57, 64, 71, 78, 85});
 aMap.put("5", new int[]{20, 39, 59, 79, 98, 118, 137, 157, 177, 196, 216, 236}) etc...

我需要到达我使用的数组的每一个元素

for (String key : aMap.keySet()) {
  System.out.println("key : " + key);
  System.out.println("value : " + Arrays.toString(aMap.get(key)));
}

我可以看到数组,但是我想访问每个元素中的所有元素作为一个例子,我想分别得到所有这些值7、14、21、28、35、42、49、57、64、71、78、85,并将它们与我已经计算的值进行比较(我们可以将其命名为asvalue)。

guicsvcw

guicsvcw1#

您可以获取Map的值,并通过以下方式将它们存储在局部变量中

for (String key : aMap.keySet()) {
    System.out.println("key : " + key);
    int[] value = aMap.get(key);
    //do something with value array
}
u0njafvf

u0njafvf2#

Map的价值是 int[] (一组 int ),您可以遍历每个数组以获得其字段,如下所示:

for (Entry<String, int[]> entry : aMap.entrySet()) {
    System.out.println("key : " + entry.getKey());
    for (int i : entry.getValue()) {
        System.out.println("  array element: " + i);
    }
}

第一个for循环应该使用 Entry<String, int[]> 而不仅仅是 Key ,因为您不必进行表查找。

相关问题