HashMap存放的是key/value对 1. 先定义一个Student类,里面fields有:姓名String name、年龄int age,方法:有参构造器,覆盖(重写)方法toString,在该方法中输出相应的姓名和年龄。所有字段的get/set方法。 2. 利用HashMap添加以下学生(key为学号,value为学生): 学号:15H002,姓名:孙悟空,年龄2000 学号:15H001,姓名:唐僧,年龄40 学号:15H003,姓名:猪八戒,年龄1000 请把这些学生放入的到HashMap对象中去。 3. 根据key(学号)查找学号为15H003和15H004的学生,如果存在则输出其学号、姓名、年龄信息,否则输出无法找到的提示信息。 4. 使用键值对访问方式,输出所有学生的学号、姓名、年龄。 5. 移除学号为15H001的学生。 6. 把HashMap变成数组,并输出每个数组元素的信息(姓名、年龄)
时间: 2023-12-14 18:35:50 浏览: 46
以下是代码实现:
```java
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
// 2. 添加学生信息到HashMap
Map<String, Student> studentMap = new HashMap<>();
studentMap.put("15H002", new Student("孙悟空", 2000));
studentMap.put("15H001", new Student("唐僧", 40));
studentMap.put("15H003", new Student("猪八戒", 1000));
// 3. 查找学生信息
findStudent(studentMap, "15H003");
findStudent(studentMap, "15H004");
// 4. 输出所有学生信息
for (String key : studentMap.keySet()) {
Student student = studentMap.get(key);
System.out.println("学号:" + key + "," + student.toString());
}
// 5. 移除学号为15H001的学生
studentMap.remove("15H001");
// 6. HashMap转为数组并输出每个元素信息
Student[] students = studentMap.values().toArray(new Student[0]);
for (Student student : students) {
System.out.println("姓名:" + student.getName() + ",年龄:" + student.getAge());
}
}
// 根据学号查找学生信息
public static void findStudent(Map<String, Student> studentMap, String id) {
if (studentMap.containsKey(id)) {
Student student = studentMap.get(id);
System.out.println("学号:" + id + "," + student.toString());
} else {
System.out.println("无法找到学号为" + id + "的学生信息");
}
}
}
class Student {
private String name;
private int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "姓名:" + name + ",年龄:" + age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
```
输出结果:
```
学号:15H003,姓名:猪八戒,年龄:1000
无法找到学号为15H004的学生信息
学号:15H002,姓名:孙悟空,年龄:2000
学号:15H001,姓名:唐僧,年龄:40
学号:15H003,姓名:猪八戒,年龄:1000
姓名:孙悟空,年龄:2000
姓名:猪八戒,年龄:1000
```