关于Map集合的三种遍历方法

来源:互联网 发布:简单优化模板源码下载 编辑:程序博客网 时间:2024/06/05 02:39

关于Map集合的三种遍历方法

关于Map集合的三种遍历方法

 实体类Persion
/** * Created by aongi on 2017/4/27. * Version 1.0 */public class Persion {    private String name;    private Integer age;    public Persion(String name, Integer age) {        this.name = name;        this.age = age;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public Integer getAge() {        return age;    }    public void setAge(Integer age) {        this.age = age;    }    @Override    public boolean equals(Object o) {        if (this == o) return true;        if (!(o instanceof Persion)) return false;        Persion persion = (Persion) o;        if (name != null ? !name.equals(persion.name) : persion.name != null) return false;        return age != null ? age.equals(persion.age) : persion.age == null;    }    @Override    public int hashCode() {        int result = name != null ? name.hashCode() : 0;        result = 31 * result + (age != null ? age.hashCode() : 0);        return result;    }    @Override    public String toString() {        return name + "    "+ age;    }}
  1. 通过键值增强for取出遍历
import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;/** * Created by aongi on 2017/4/27. * Version 1.0 */public class Test {    //main方法    public static void main(String[] args) {        Map<Integer,Persion> map=new HashMap<Integer,Persion>();        map.put(0001,new Persion("张三",20));        map.put(0002,new Persion("李四",19));        for (Integer key :map.keySet()){            Persion persion=map.get(key);            System.out.println(key+"   "+persion);        }    }}
  1. Iterator遍历
/** * Created by aongi on 2017/4/27. * Version 1.0 */import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;public class Test {    //main方法    public static void main(String[] args) {        Map<Integer,Persion> map=new HashMap<Integer,Persion>();        map.put(0001,new Persion("张三",20));        map.put(0002,new Persion("李四",19));        Set<Map.Entry<Integer,Persion>> set=map.entrySet();        Iterator<Map.Entry<Integer,Persion>> iterator= set.iterator();        while (iterator.hasNext()){            Map.Entry<Integer,Persion> entry=iterator.next();            Integer integer=entry.getKey();            Persion persion =entry.getValue();            System.out.println(integer+"      "+persion);        }    }}
  1. 把Map集合转换成Map集合内部的Set接口实现
/** * Created by aongi on 2017/4/27. * Version 1.0 */import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;public class Test {    //main方法    public static void main(String[] args) {        Map<Integer,Persion> map=new HashMap<Integer,Persion>();        map.put(0001,new Persion("张三",20));        map.put(0002,new Persion("李四",19));        for (Map.Entry<Integer,Persion> entry : map.entrySet()){            System.out.println(entry.getKey()+"        "+entry.getValue());        }    }}

注意:增强for循环是不能直接遍历Map集合的!!!

0 0
原创粉丝点击