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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© MengDeKaiShi 中级黑马   /  2015-1-2 22:33  /  703 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

(2)Map遍历的两种方式
方式1:通过遍历键集来获取值
方式2:通过获取键值对的集合来获取键和值
/*
* 标准学生类
*/
public class Student {
        private String name;
        private int age;

        public Student() {
        }

        public Student(String name, int age) {
                this.name = name;
                this.age = age;
        }

        public String getName() {
                return name;
        }

        public void setName(String name) {
                this.name = name;
        }

        public int getAge() {
                return age;
        }

        public void setAge(int age) {
                this.age = age;
        }

        // 重写toString()方法,让他返回姓名年龄
        @Override
        public String toString() {
                return "Student [name=" + name + ", age=" + age + "]";
        }
}



/*
* 测试类
*/
public class MapDemo {
        public static void main(String[] args) {
                //创建集合对象
        Map<Integer, Student> map=new HashMap<Integer, Student>();
               
                //创建元素对象
                Student s1=new Student("祝英台",18);
                Student s2=new Student("小龙女",15);
                Student s3=new Student("朱丽叶",25);
               
                //存储元素(学号——学生)
                map.put(10000, s1);
                map.put(10086, s2);
                map.put(10010, s3);

               
                //遍历Map集合
               
                //方式1:获取键的集合,用键找值
                Set<Integer> keys=map.keySet();//获取所有键的集合
                for (Integer s : keys) {//遍历键集
                        //Object get(Object key)通过键获取值
                        Student value=map.get(s);
                        //输出键值对
                        System.out.println("学号:"+s+",学生:"+value);
                }
                //如果key不存在,返回的是null,不报错
                System.out.println("key不存在:"+map.get(1));
                System.out.println("--------------------");
               
                //方式2:通过遍历键值对集合进行遍历
                //获取键值对对象的集合
                //Map.Entry<K,V>是一个接口,提供getKey()、getValue()方法用于
获取键、值
                Set<Map.Entry<Integer, Student>> set=map.entrySet();
                //遍历集合
                for (Map.Entry<Integer, Student> entry : set) {
                        Integer key=entry.getKey();
                        Student value=entry.getValue();
                        System.out.println("学号:"+key+",学生:"+value);
                       

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马