定义Map集合,用Teacher对象为key,教师电话(字符串)为value,遍历Map集合
时间: 2024-03-12 21:49:35 浏览: 19
好的,以下是代码实现:
```java
import java.util.HashMap;
import java.util.Map;
public class MapExample {
public static void main(String[] args) {
// 定义Map集合
Map<Teacher, String> teacherMap = new HashMap<>();
// 添加数据
Teacher teacher1 = new Teacher("张三", "数学");
teacherMap.put(teacher1, "123456");
Teacher teacher2 = new Teacher("李四", "语文");
teacherMap.put(teacher2, "234567");
// 遍历Map集合
for (Map.Entry<Teacher, String> entry : teacherMap.entrySet()) {
Teacher teacher = entry.getKey();
String phone = entry.getValue();
System.out.println(teacher.getName() + "的电话是:" + phone);
}
}
}
class Teacher {
private String name;
private String subject;
public Teacher(String name, String subject) {
this.name = name;
this.subject = subject;
}
public String getName() {
return name;
}
public String getSubject() {
return subject;
}
}
```
输出结果:
```
张三的电话是:123456
李四的电话是:234567
```
注意:在上面的代码中,我们使用了自定义类 Teacher 作为 Map 的 key,因此需要在 Teacher 类中重写 equals 和 hashCode 方法,以确保 Map 正确地处理 key 的比较和哈希值计算。