keySe
t是键的集合,Set里面的类型即key的类型
entrySet
是 键-值 对的集合,Set里面的类型是Map.Entry
keySet()的速度比entrySet()慢了很多
使用entrySet则必须将map对象转换为Map.Entry,keySet则不需要
entrySet()
是map的一个节点,是横向的,
keySet()
是map中所有键的集合,是纵向的
JAVA问题:Map.Entry的一般用处是什么?
是为了输出的方便
一般情况下,要输出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);
}