美文网首页
遍历Map的key和value

遍历Map的key和value

作者: jarWorker | 来源:发表于2018-08-02 16:31 被阅读0次

    Student类


    package test;
    
    public class Student {
        private String name;
        private String sex;
        private Integer age;
    
        public Student() {
            super();
        }
        
        public Student(String name, String sex, Integer age) {
            super();
            this.name = name;
            this.sex = sex;
            this.age = age;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getSex() {
            return sex;
        }
    
        public void setSex(String sex) {
            this.sex = sex;
        }
    
        public Integer getAge() {
            return age;
        }
    
        public void setAge(Integer age) {
            this.age = age;
        }
    
    }
    

    MapTest 类(测试用例)


    package test;
    
    import java.util.*;
    import java.util.Map.Entry;
    import org.junit.Test;
    
    public class MapTest {
        @Test
        public void testMap() {
            Student xiaoqiang = new Student("小强", "男", 10);
            Student xiaoLi = new Student("小丽", "女", 14);
            Student xiaoMing = new Student("小明", "男", 16);
            Student xiaoHong = new Student("小红", "女", 13);
            Map<String, Student> map = new HashMap<>();
            map.put("xiaoqiang", xiaoqiang);
            map.put("xiaoLi", xiaoLi);
            map.put("xiaoMing", xiaoMing);
            map.put("xiaoHong", xiaoHong);
            System.out.println("===========使用keySet============");
            for (String key : map.keySet()) {
                System.out.println("key:" + key);
                Student value = map.get(key);
                String name = value.getName();
                String sex = value.getSex();
                int age = value.getAge();
                System.out.println("我是" + name + ",今年" + age + "岁,是一名" + sex + "生。");
            }
            
            System.out.println("===========使用Iterator============");
            Iterator<String> it = map.keySet().iterator();
            while (it.hasNext()) {
                String key = it.next();
                System.out.println("key:" + key);
                Student value = map.get(key);
                String name = value.getName();
                String sex = value.getSex();
                int age = value.getAge();
                System.out.println("我是" + name + ",今年" + age + "岁,是一名" + sex + "生。");
            }
            
            System.out.println("===========使用Entry============");
            for (Entry<String, Student> entry : map.entrySet()) {
                String key = entry.getKey();
                Student value = entry.getValue();
                System.out.println("key:" + key);
                String name = value.getName();
                String sex = value.getSex();
                int age = value.getAge();
                System.out.println("我是" + name + ",今年" + age + "岁,是一名" + sex + "生。");
            }
            
            System.out.println("===========map转list,然后list里的元素为entry<String,Student>============");
            List<Entry<String, Student>> list = new ArrayList<Map.Entry<String, Student>>(map.entrySet());
            for (Entry<String, Student> entry : list) {
                String key = entry.getKey();
                Student value = entry.getValue();
                System.out.println("key:" + key);
                String name = value.getName();
                String sex = value.getSex();
                int age = value.getAge();
                System.out.println("我是" + name + ",今年" + age + "岁,是一名" + sex + "生。");
            }
        }
    }
    

    Console:输出


    ===========使用keySet============
    key:xiaoLi
    我是小丽,今年14岁,是一名女生。
    key:xiaoMing
    我是小明,今年16岁,是一名男生。
    key:xiaoqiang
    我是小强,今年10岁,是一名男生。
    key:xiaoHong
    我是小红,今年13岁,是一名女生。
    ===========使用Iterator============
    key:xiaoLi
    我是小丽,今年14岁,是一名女生。
    key:xiaoMing
    我是小明,今年16岁,是一名男生。
    key:xiaoqiang
    我是小强,今年10岁,是一名男生。
    key:xiaoHong
    我是小红,今年13岁,是一名女生。
    ===========使用Entry============
    key:xiaoLi
    我是小丽,今年14岁,是一名女生。
    key:xiaoMing
    我是小明,今年16岁,是一名男生。
    key:xiaoqiang
    我是小强,今年10岁,是一名男生。
    key:xiaoHong
    我是小红,今年13岁,是一名女生。
    ===========map转list,然后list里的元素为entry<String,Student>============
    key:xiaoLi
    我是小丽,今年14岁,是一名女生。
    key:xiaoMing
    我是小明,今年16岁,是一名男生。
    key:xiaoqiang
    我是小强,今年10岁,是一名男生。
    key:xiaoHong
    我是小红,今年13岁,是一名女生。
    

    相关文章

      网友评论

          本文标题:遍历Map的key和value

          本文链接:https://www.haomeiwen.com/subject/vxrsvftx.html