java hashmap键迭代

时间:2010-07-27 14:39:01

标签: java iteration hashmap

有没有办法遍历java Hashmap并打印出作为Hashmap一部分的每个键的所有值?

8 个答案:

答案 0 :(得分:23)

是的,您可以通过获取地图的entrySet()来执行此操作。例如:

Map<String, Object> map = new HashMap<String, Object>();

// ...

for (Map.Entry<String, Object> entry : map.entrySet()) {
    System.out.println("key=" + entry.getKey() + ", value=" + entry.getValue());
}

(当然,将StringObject替换为您的特定Map所具有的类型 - 上面的代码只是一个示例。

答案 1 :(得分:16)

使用 for-each loop ,使用Map.keySet()来迭代密钥,使用Map.values()来迭代值,使用Map.entrySet()来迭代键/值对。

请注意,所有这些都是用于获取它们的地图的直接视图,因此您对三者中的任何一个或地图本身所做的任何修改也将反映给所有其他人。

答案 2 :(得分:3)

public class abcd {
    public static void main(String[] args)
    {
       Map<Integer, String> testMap = new HashMap<Integer, String>();
        testMap.put(10, "a");
        testMap.put(20, "b");
        testMap.put(30, "c");
        testMap.put(40, "d");
        for (Entry<Integer, String> entry : testMap.entrySet()) {
            Integer key=entry.getKey();
            String value=entry.getValue();
        }
    }
}

答案 3 :(得分:2)

for (Map.Entry<T,U> e : map.entrySet())
{
    T key = e.getKey();
    U value = e.getValue();
    .
    .
    .
}

此外,如果使用LinkedHashMap作为实现,则将按插入键/值对的顺序进行迭代。如果这不重要,请使用HashMap。

答案 4 :(得分:1)

hashmap.keySet().iterator()

使用for循环来迭代它。

然后使用hashmap.get(item)获取单个值,

或者只使用entrySet()来获取值的迭代器。

答案 5 :(得分:0)

Java 8添加了Map.forEach,您可以像这样使用它:

map.forEach((k, v) -> System.out.println("key=" + k + " value=" + v));

如果要更新值,还可以使用replaceAll

map.replaceAll((k, v) -> {
    int newValue = v + 1;
    System.out.println("key=" + k + " value=" + v + " new value=" + newValue);
    return newValue;
});

答案 6 :(得分:0)

请保持简单,

HashMap<String,String> HeyHoLetsGo = new HashMap();

HeyHoLetsGo.put("I", "wanna be your dog");
HeyHoLetsGo.put("Sheena", "is a punk rocker");
HeyHoLetsGo.put("Rudie", "can't fail");

for ( String theKey : HeyHoLetsGo.keySet() ){
    System.out.println(theKey + " "+HeyHoLetsGo.get(theKey));
}

答案 7 :(得分:0)

使用下面的代码片段,您可以打印哈希图的键和值

使用 Java 8

hashMap.forEach((key, value) -> {
    System.out.println("Value of " + key + " is " + value);
});

使用 Java 7

for (Map.Entry entry : hashMap.entrySet()) {
    System.out.println(entry.getKey() + " Value is " + entry.getValue());
}

详情请参考以下链接

https://beginnersbug.com/get-key-and-value-from-hashmap-in-java/

https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html