代码
package com.chen.集合框架和泛型.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
/**
* Created by chen on 2018/3/16.
*/
public class LearnHashMap {
public static void main(String[] args) {
Student student1 = new Student("张三" , "男" );
Student student2 = new Student("李四" , "女" );
Map hashMap = new HashMap();
hashMap.put("zhangSan" , student1);
hashMap.put("liSi" , student2);
System.out .println("有几个学员:" + hashMap.size());
System.out .println("***输出所有键集***" );
System.out .println(hashMap.keySet());
System.out .println("***判断是否有“zhangSan”这个键,如果有获取相应的值***" );
String key = "zhangSan" ;
if (hashMap.containsKey(key)) {
Student student3 = (Student) hashMap.get(key);
System.out .println("中文名字:" + student3.getStudentName());
}
System.out .println("***移除liSi***" );
// hashMap.remove("liSi");
System.out .println("***使用增强for遍历键***" );
System.out .println("键集合为set集合" );
for (Object obj : hashMap.keySet()) {
System.out .println(obj.toString());
}
System.out .println("***使用迭代器遍历值***" );
Iterator iterator = hashMap.values().iterator();
while (iterator.hasNext()){
System.out .println(((Student)iterator.next()).getStudentName());
}
}
}
package com.chen.集合框架和泛型.Map;
/**
* Created by chen on 2018/3/16.
*/
public class Student {
private String studentName ;
private String sex ;
public Student(String studentName, String sex) {
this .studentName = studentName;
this .sex = sex;
}
public String getStudentName() {
return studentName ;
}
public void setStudentName(String studentName) {
this .studentName = studentName;
}
public String getSex() {
return sex ;
}
public void setSex(String sex) {
this .sex = sex;
}
}
笔记
Map接口存储一组成对的键(key)-值(value)对象,提供key到value的映射,Map接口中的key不要求有序,
不允许重复。value同样不要求有序,但允许重复。
HashMap是最常用的实现类,优点是查询指定元素效率高。可以使用增强for循环和迭代器遍历,不能使用普通
for循环。