A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© CHENVICTORY 中级黑马   /  2015-10-7 11:56  /  540 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一共有两种方法,理解不了map.entrySet(),返回键值对,也是map类型?

3 个回复

倒序浏览
Map我们知道是双列集合的跟接口...自定义对象的时候我们把这个键和值封装成一个对象整体.就是调用Map的entrySet方法返回的是一个Set集合视图,类型就是这个Set集合后面跟的这个泛型,其实就是<Map.entry>类型的集合..
Map.Entry其实你看这个是接口 . 调用一个方法.说明Entry是Map内部接口.将键和值封装成Entry对象,存储在Set集合中...

Iterator<Map.Entry<String, Integer>> it = entrySet.iterator();
                while(it.hasNext()) {
                        //获取每一个Entry对象
                        Map.Entry<String, Integer> en = it.next();        //父类引用指向子类对象
                        //Entry<String, Integer> en = it.next();        //直接获取的是子类对象
                        String key = en.getKey();                                        //根据键值对对象获取键
                        Integer value = en.getValue();                                //根据键值对对象获取值
                        System.out.println(key + "=" + value);

后面遍历就是获取这个Map.entry集合的迭代器..   希望对你有帮助..
回复 使用道具 举报
map遍历一共两方式,一、使用KeySet来遍历;二、使用EntrySet来遍历。
map.entrySet()返回类型应该是Map.Entry类型
回复 使用道具 举报
为什么说的这么复杂
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马