Java里Map接口的实现类HashMap在遍历时用到的EntrySet不理解为什么要这么用?

如题所述

遍历的对象必须是数组或实现Iterable接口
HashMap 没有实现 Iterable 接口!
而EnetrySet 返回 一个Set 实现了Iterable 接口追问

那EntrySet和keySet有什么区别呢?

追答

HashMap存的是Key和Value 对应的对象
KeySet 返回Key的Set集合
EntrySet 返回Value的Set集合

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-09-27
都专业点好不好,别误人子弟!!
EntrySet返回 映射关系的set视图,values返回value的collection视图。
举例:
Map<String,String> m = new HashMap<String,String>();
m.put("year","2012");
m.entrySet().iterator().next() 的值为:year= 2012
m.values().iterator().next() 的值为:2012
m.keySet().iterator().next() 的值为:year
相似回答