Map接口专门处理键值映射数据的存储,可以根据key实现对value的操作(键值对)。最常用的实现 类是HashMap。
package test;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
class Students{
private String name;
private String sex;
public Students() {
super();
}
public Students(String name, String sex) {
super();
this.name = name;
this.sex = sex;
}
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 class HashMapDemo {
public static void main(String[] args) {
Students student1 = new Students("李明","男");
Students student2 =new Students("王丽","女");
Students student3= new Students("张三","男");
Map map = new HashMap();
map.put("jack", student1);
map.put("lucy", student2);
map.put("john", student3);
//获取所有的键
Set set = map.keySet();
System.out.println("遍历方式1:Iterator");
Iterator iter = set.iterator();
while(iter.hasNext()){
// Object str1 = iter.next();
//因为str1为对象,所以应该输出的是地址,
//但因为String类重写了输出对象方法,所以输出的为值
// System.out.print(str1+"\t");//john lucy jack
// String str = (String)iter.next();//理由同上
// System.out.print(str+"\t");//john lucy jack
Object object = iter.next();
Students stu = (Students)map.get(object);
System.out.println(object+"对应的学员姓名是:"+stu.getName()+"\t性别是:"+stu.getSex());
}
System.out.println("---------------------------------------");
System.out.println("遍历方式2:foreach");
for (Object obj: set) {
Students stu2 = (Students)map.get(obj);
System.out.println(obj+"对应的学员姓名是:"+stu2.getName()+"\t性别是:"+stu2.getSex());
}
}
}