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

集合框架里,HashMap的取出方法中,有个entrySet()的方法,但是我一直不太懂这个方法的使用,有大牛能解释下么?
附上代码:省去了Student类:主要由两个属性:String name 和 int age
public class HashMapDemo {
        public static void main(String[] args) {
                HashMap<Student, String> hm = new HashMap<Student, String>();

                hm.put(new Student("lisi1", 21), "beijing");
                hm.put(new Student("lisi2", 22), "guangzhou");
                hm.put(new Student("lisi3", 23), "shenzhen");
                hm.put(new Student("lisi4", 24), "shanghai");

                //第二种取出方式 entrySet
                Set<Map.Entry<Student,String>> entrySet = hm.entrySet();
               
                Iterator<Map.Entry<Student, String>> iter= entrySet.iterator();

                while (iter.hasNext()) {
                        Map.Entry<Student, String> me = iter.next();
                        Student stu = me.getKey();
                        String addr  = me.getValue();
                        System.out.println(stu + ".." + addr);


                }
            }
         }

4 个回复

正序浏览
毕老师讲的多清楚啊。还用在这问了,还不如多看两遍视频呢。
回复 使用道具 举报
aurora_bessie 发表于 2015-7-23 23:38
他是将map集合中的映射关系(这个映射关系的类型是Map.Entry类型)取出存入set集合,接下来这个关系对象通 ...

Map中的元素不是<K,V>类型的么?如何存入Set集合中?
回复 使用道具 举报
他是将map集合中的映射关系(这个映射关系的类型是Map.Entry类型)取出存入set集合,接下来这个关系对象通过迭代器取出,调用Map.Entry中的getKey方法和getvalue方法取出键和值
回复 使用道具 举报
entrySet(),返回此映射中包含的映射关系的 Set 视图。就是把map中的映射关系(键值对)去取出,放到Set集合中,Set集合的泛型是Map.Entry<Student,String>>
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马