关于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;
}
}
- 通过键值增强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);
}
}
}
- 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);
}
}
}
- 把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());
}
}
}