import java.util.;
import java.util.Map.;
public class CourseMapTest {
public static void main(String[] args) {
Map<String, Course> map = new HashMap<String, Course>();
map.put(“178003”, new Course(“math”, 5));
map.put(“178018”, new Course(“english”, 4));
// 加入一个key为178010(String类型),value为名称为java,学分为4的课程(course类型)的元素
map.put(“178010”, new Course(“java”, 4));
// 第一种:使用for二次取值
// 通过Map.keySet遍历key和value:
for (String key : map.keySet()) {
// 通过key获取value,赋值给Course类型的变量course
Course course=(Course)map.get(key);
System.out.println("key= " + key + " and value= " + course);
}
// 第二种
// 通过Map.entrySet使用iterator遍历key和value
Set<Entry<String, Course>> set = map.entrySet();
Iterator it = set.iterator();
while (it.hasNext()) {
Map.Entry entry=(Map.Entry)(it.next());
Object key=entry.getKey();
Object course=entry.getValue();
System.out.println("key= " + key + " and value= " + course);
}
// 第三种
// 使用values方法遍历输出map的所有value
for (Course course : map.values()) {
System.out.println("value= " + course);
}
}
}
class Course {
private String name; // 课程名称
private Integer credit; // 课程学分
// 构造方法,根据课程名称、学分快速创建课程对象
public Course(String name, Integer credit) {
this.name = name;
this.credit = credit;
}
// 重写toString方法,转化为name:credit的格式,如math:3、english:4
@Override
public String toString() {
return name + ":" + credit;
}
}