java - 什么是 Map.Entry<K,V> 接口(interface)?

标签 java map

我遇到了以下代码:

for(Map.Entry<Integer,VmAllocation> entry : allMap.entrySet()) {
       // ...
}

什么是Map.Entry<K,V>意思 ?什么是entry对象?

我读到方法 entrySet返回 map 的 Collection View 。但是我不明白 for-each 中的这个初始化循环。

最佳答案

Map.Entry 是构成 Map 一个元素的键/值对。参见 the docs了解更多详情。

您通常会将其用于:

Map<A, B> map = . . .;
for (Map.Entry<A, B> entry : map.entrySet()) {
    A key = entry.getKey();
    B value = entry.getValue();
}

如果您需要处理每个键/值对,这比遍历键集并调用 get(key) 来获取每个值更有效。

关于java - 什么是 Map.Entry<K,V> 接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18863910/

相关文章:

java - 如何在JSP中使用空键获取Map值

java - 通过角色检查在 Tomcat 上集成 Spring Security 和 Waffle

java - 使用 spring 在运行时注入(inject) BasicDataSource

java - 从可执行 JAR 中的 res 文件夹中提取文件(具体为 txt 文件)

hadoop - 如何从 pig 的 map 中检索最大值

java - 在 HashMap 中使用 String 键是个坏主意?

支持 WMS 的 WPF map 控件

java - 如何通过实现Runnable接口(interface)来减少内存消耗?

java 日期格式 yyyy-mm-dd.hh.MM.ss.ms

c++ - Typedef 相互引用的 STL 容器