Map集合的遍历

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Map集合的遍历相关的知识,希望对你有一定的参考价值。

Map是将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。当发生重复添加的话,后面的值将前面的覆盖,适用于put()和putAll()两个方法。

Map集合常用的两种遍历方式:

1、通过Key来查找对应的Value

2、通过键值对的Set集合来遍历Map集合

public class Person {
    //姓名
    private String name;
    //年龄
    private int age;

    //无参构造
    public Person() {
    }

    //有参构造
    public Person(String name, int age) {
        this.age = age;
        this.name = name;
    }

    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;
    }

    @Override
    public String toString() {
        return "Person{" +
                "name=‘" + name + ‘\‘‘ +
                ", age=" + age +
                ‘}‘;
    }
}
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

/**
 * Map集合遍历
 */
public class MapDemo {
    public static void main(String[] args) {
        //创建Map集合对象
        Map<String, Person> map = new HashMap<String, Person>();
        //创建Person对象元素
        Person p1 = new Person("张君宝", 30);
        Person p2 = new Person("张三丰", 80);
        Person p3 = new Person("张真人", 110);
        //将元素添加到Map集合中
        map.put("001", p1);
        map.put("002", p2);
        map.put("003", p3);
        //遍历Map集合
        //方式1:通过key来查找value
        //1.1获取key对应的Set集合
        Set<String> set = map.keySet();
        //1.2遍历key对应的集合
        for (String k : set) {
            //1.3根据key获取Map集合中的Person对象
            Person p = map.get(k);
            System.out.println(k + "***" + p.getName() + "***" + p.getAge());
        }
        System.out.println("----------------------------------------------");
        //方式2:通过键值对的Set集合来遍历
        //2.1获取键值对Set集合
        Set<Map.Entry<String, Person>> entries = map.entrySet();
        //2.2遍历键值对Set集合
        for (Map.Entry<String, Person> p : entries) {
            //2.3获取对应的Key和Value
            String s = p.getKey();
            Person person = p.getValue();
            System.out.println(s + "***" + person.getName() + "***" + person.getAge());
        }
    }
}

 

以上是关于Map集合的遍历的主要内容,如果未能解决你的问题,请参考以下文章

201621123037 《Java程序设计》第9周学习总结

Java Map集合的遍历(简述)

Map集合中,关于取值和遍历的相关操作

精髓!Java中遍历Map集合的五种方式

硬核!java遍历map集合的体会

遍历Map集合的两种方式