码迷,mamicode.com
首页 > 其他好文 > 详细

Map集合的遍历

时间:2016-06-07 16:21:44      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:

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集合的遍历

标签:

原文地址:http://www.cnblogs.com/kacool/p/5567291.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!