遍历Map的key和value

2018-08-02  本文已影响0人  jarWorker

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岁,是一名女生。
上一篇下一篇

猜你喜欢

热点阅读