遍历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岁,是一名女生。