我遇到了以下代码:
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/