java几种遍历map的几种方法及解析

先来一个map集合

Map<String,Object> map = new HashMap<String,Object>();
        Student student = new Student("stu01","张三","男");
        Teacher teacher = new Teacher("tea01","王伟","女");
        map.put("student", student);
        map.put("teacher", teacher);

//第一种:通过keySet()遍历所有的健  原理是返回key组成的Set集合,再通过key获取键值对  
        Set key = map.keySet();
        for (Object k : key) {
            System.out.println(k);//结果:student teacher 
        }
        for (String k : map.keySet()) {
            System.out.println("key为:"+k+"----"+"value为:"+map.get(k));
        }

//第二种:通过values()遍历所有的值,但是不能遍历key
        for (Object value : map.values()) {
            System.out.println(value);
        }

//第三种:通过entrySet()遍历所有的健和值
        for (Map.Entry<String, Object> m : map.entrySet()) {
            System.out.println("key--->"+m.getKey()+"---"+"value--->"+m.getValue());
        }

//第四种:通过entrySet()使用(迭代器)遍历所有的健和值
        Iterator<Map.Entry<String, Object>> it = map.entrySet().iterator();
        while(it.hasNext()){//是否有下一个
            Map.Entry<String, Object> entry = it.next();
            System.out.println("key--->"+entry.getKey()+"---"+"value--->"+entry.getValue());
        }

猜你喜欢

转载自blog.csdn.net/Websphere_zxf/article/details/86418327