Java的Map.entry一个问题

2025-03-31 11:38:16
推荐回答(2个)
回答1:

是为了输出的方便
一般情况下,要输出Map中的key 和 value 是先得到key的集合,然后再迭代(循环)由每个key得到每个value
而Entry可以一次性获得这两个值,找个我做过的例子
--------------------------------------------------------------------------
Set set = map.keySet(); //keySet()

for(Iterator iter = set.iterator();iter.hasNext();)
{
String key = (String)iter.next(); //先获得键key
Integer value = (Integer)map.get(key); //再由键获得value

System.out.println(key + "=" + value);
}

--------------------------------------------------------------------------
Set set = map.entrySet(); //entrySet()

for(Iterator iter = set.iterator();iter.hasNext();)
{
Map.Entry entry = (Map.Entry)iter.next();
String key = (String)entry.getKey(); //一次性获得键和值 key和value
String value = (String)entry.getValue();

System.out.println(key + ": " + value);
}

回答2:

map.entrySet()是将map里的每一个键值对取出来封装成一个Entry对象在存到一个Set里面。Map.Entry的意思是一个泛型,表示Entry里装的是两个string的字符串,分别是allrecordmap的key和value