如何在int []的哈希映射中获取特定键的所有值

时间:2014-04-23 04:06:22

标签: java

我有以下的hashmap

private static Map<Integer, int[]> hm = new HashMap<Integer, int[]>();
m.put(1, new int[]{1,2,3,4,5});
hm.put(96, new int[]{23,24,2,34,22});
hm.put(101, new int[]{123,11,22,34,5,4,7});
hm.put(96, new int[]{88,87,85,80,9,7,2,1});
hm.put(96, new int[]{110,123,11,22,34,33,29,4});

我想获得说明密钥96的所有价值,

if (hm.containsKey(route_ID)){ ... }

然后我想迭代这些值。

3 个答案:

答案 0 :(得分:2)

数组是可迭代的,因此您可以使用for (value : array)语法对它们进行迭代。

for (int value : hm.get(96)) {
  // ...
}

MapHashMap中没有任何内容可以支持containsValue(int[])之类的内容,但这样做很容易实现。

答案 1 :(得分:1)

试试这个

if(hm.get(96) != null)
    {
       for(int i = 0; i < hm.get(96).length ; i++)
          System.out.print("Value" + i + "=" + hm.get(96)[i] );
    }

答案 2 :(得分:1)

if (hm.containsKey(route_ID)) {
  int[] values = hm.get(route_ID);
  for(int i=0; i<values.length; i++)
    System.out.println(values[i]);