在这串代码上实现对学生信息的查询、插入、修改和删除操作
时间: 2024-02-21 07:02:29 浏览: 61
好的,针对你的问题,我们可以在上面的代码基础上,使用 `Map` 来实现对该班级学生的管理,包括学生信息的查询、插入、修改和删除操作,代码如下:
```java
import java.util.*;
// 定义学生类
class Student {
private int id;
private String name;
private int score;
public Student(int id, String name, int score) {
this.id = id;
this.name = name;
this.score = score;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
@Override
public String toString() {
return "id=" + id + ", name='" + name + "', score=" + score;
}
}
public class Main {
public static void main(String[] args) {
// 创建班级学生列表
List<Student> students = new ArrayList<Student>();
students.add(new Student(1, "张三", 78));
students.add(new Student(2, "李四", 92));
students.add(new Student(3, "王五", 85));
students.add(new Student(4, "赵六", 67));
students.add(new Student(5, "钱七", 96));
// 将学生列表转换为Map
Map<Integer, Student> studentMap = new HashMap<Integer, Student>();
for (Student student : students) {
studentMap.put(student.getId(), student);
}
// 查询学生信息
int studentId = 1;
Student student = studentMap.get(studentId);
if (student != null) {
System.out.println("查询到学生信息:" + student.toString());
} else {
System.out.println("未查询到学生信息,学号为:" + studentId);
}
// 插入学生信息
Student newStudent = new Student(6, "孙八", 88);
studentMap.put(newStudent.getId(), newStudent);
System.out.println("插入学生信息:" + newStudent.toString());
// 修改学生信息
int updateStudentId = 2;
Student updateStudent = studentMap.get(updateStudentId);
if (updateStudent != null) {
updateStudent.setName("王二麻子");
updateStudent.setScore(70);
System.out.println("修改学生信息,学号为:" + updateStudentId + ",修改后的信息为:" + updateStudent.toString());
} else {
System.out.println("未查询到学生信息,学号为:" + updateStudentId);
}
// 删除学生信息
int deleteStudentId = 4;
Student deleteStudent = studentMap.remove(deleteStudentId);
if (deleteStudent != null) {
System.out.println("删除学生信息,学号为:" + deleteStudentId + ",删除的信息为:" + deleteStudent.toString());
} else {
System.out.println("未查询到学生信息,学号为:" + deleteStudentId);
}
// 输出学生信息
for (Map.Entry<Integer, Student> entry : studentMap.entrySet()) {
System.out.println("学号:" + entry.getKey() + ",学生信息:" + entry.getValue().toString());
}
}
}
```
代码中,我们实现了学生信息的查询、插入、修改和删除操作。其中,查询学生信息使用了 `get()` 方法;插入学生信息使用了 `put()` 方法;修改学生信息先通过 `get()` 方法查询到学生对象,然后再通过 `setXXX()` 方法修改学生信息;删除学生信息使用了 `remove()` 方法。最后,我们遍历 `studentMap`,输出每个学生的信息。
阅读全文