黑马程序员技术交流社区

标题: 有谁可以详细介绍下entrySet()这个方法? [打印本页]

作者: joe520kay    时间: 2015-7-23 11:32
标题: 有谁可以详细介绍下entrySet()这个方法?
集合框架里,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);


                }
            }
         }


作者: 张红(新)    时间: 2015-7-23 13:06
entrySet(),返回此映射中包含的映射关系的 Set 视图。就是把map中的映射关系(键值对)去取出,放到Set集合中,Set集合的泛型是Map.Entry<Student,String>>
作者: aurora_bessie    时间: 2015-7-23 23:38
他是将map集合中的映射关系(这个映射关系的类型是Map.Entry类型)取出存入set集合,接下来这个关系对象通过迭代器取出,调用Map.Entry中的getKey方法和getvalue方法取出键和值
作者: joe520kay    时间: 2015-7-24 10:01
aurora_bessie 发表于 2015-7-23 23:38
他是将map集合中的映射关系(这个映射关系的类型是Map.Entry类型)取出存入set集合,接下来这个关系对象通 ...

Map中的元素不是<K,V>类型的么?如何存入Set集合中?
作者: xiaoshaoye    时间: 2015-7-24 10:11
毕老师讲的多清楚啊。还用在这问了,还不如多看两遍视频呢。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2