集合-增删改查

 A: 创建一个接口StudentManager
B:创建一个实现类:StudentManagerImpl{
成员变量:List<Map> students;
public boolean addstudents(){
创建一个Map ;scanner录入:学生姓名 学生学号 学生性别 学生年龄
遍历students判断这个学生学号是否已经添加过,如果已经添加过返回false
否则:封装Map放入students列表中
}
Public index search(String 学生学号){
根据学号查找学生信息
}
根据学号找到学生并修改该学生成绩
 根据学号找到学生并删除该学生信息
 }
C:书写一个main方法进行测试

接口:
1 package test01;
2 
3 public interface StudentManager {
4     public boolean addstudents();
5     public int search(int sid);
6     public void change();
7     public void delete();
8 }

实现类:

  1 package test01;
  2 
  3 import java.util.*;
  4 
  5 public class StudentManagerImpl implements StudentManager {
  6     List<Map> students=new ArrayList<>();
  7     Scanner scanner=new Scanner(System.in);
  8     //添加学生
  9     @Override
 10     public boolean addstudents() {
 11         System.out.println("请录入学生学号");
 12         int sid=scanner.nextInt();
 13         int seachSid=search(sid);
 14         if (seachSid==-1){
 15             System.out.println("请录入学生姓名");
 16             String stuname=scanner.next();
 17             System.out.println("请录入学生性别");
 18             String stusex=scanner.next();
 19             System.out.println("请录入学生成绩");
 20             int score=scanner.nextInt();
 21             Map map=new HashMap();
 22             map.put("学号",sid);
 23             map.put("姓名",stuname);
 24             map.put("性别",stusex);
 25             map.put("成绩",score);
 26             students.add(map);
 27         }else {
 28             System.out.println("该学号学生信息:"+students.get(seachSid)+"已存在请重新录入");
 29         }
 30         return false;
 31     }
 32     //查找学号下标
 33     @Override
 34     public int search(int sid) {
 35         int index=-1;
 36         for (int i = 0; i < students.size(); i++) {
 37             if (students.get(i).get("学号").equals(sid)){
 38                 index=i;
 39             }
 40         }
 41         return index;
 42     }
 43     //根据学号查询到学生信息并修改该生的成绩
 44     @Override
 45     public void change(){
 46         System.out.println("请录入要修改成绩的学生学号");
 47         int sid=scanner.nextInt();
 48         int index=search(sid);
 49         if (index==-1){
 50             System.out.println("查无此人");
 51         }else {
 52             System.out.println("要修改成绩的学生为:"+students.get(index));
 53             System.out.println("请录入新的成绩");
 54             int newscore=scanner.nextInt();
 55             int old= (int) students.get(index).get("成绩");
 56             students.get(index).put("成绩",newscore);
 57             System.out.println("修改成功!修改结果为:"+students.get(index));
 58             System.out.println(students);
 59         }
 60     }
 61     //根据学号删除学生信息
 62     @Override
 63     public void delete(){
 64         while (true){
 65             System.out.println("请输入要删除的学生学号");
 66             int destu=scanner.nextInt();
 67             int index=search(destu);
 68             if (index==-1){
 69                 if (destu==0)break;
 70                 System.out.println("删除失败!该生不存在,请重新录入或输入0退出删除操作");
 71             }else {
 72                 students.remove(index);
 73                 System.out.println("删除成功!");
 74                 System.out.println(students);
 75                 break;
 76             }
 77         }
 78     }
 79 
 80     public static void main(String[] args) {
 81         StudentManagerImpl studentManager=new StudentManagerImpl();
 82         Scanner scanner=new Scanner(System.in);
 83         while (true){
 84             System.out.println("录入指令进行操作:1、添加学生 2、查找学生 3、修改学生成绩 4、删除学生信息 5、退出");
 85             int choose=scanner.nextInt();
 86             if (choose==1){
 87                 studentManager.addstudents();
 88                 System.out.println(studentManager.students);
 89             }else if (choose==2){
 90                 while (true){
 91                     System.out.println("请录入学号查找学生");
 92                     int idFindStu=scanner.nextInt();
 93                     int index=studentManager.search(idFindStu);
 94                     if (index==-1){
 95                         if (idFindStu==0)break;
 96                         System.out.println("查找失败,请重新录入或输入0退出查找");
 97                     }else {
 98                         System.out.println("查找成功:"+studentManager.students.get(index));
 99                         break;
100                     }
101                 }
102             }else if (choose==3){
103                 studentManager.change();
104             }else if (choose==4){
105                 studentManager.delete();
106             }
107             else if (choose==5){
108                 System.out.println("已退出操作");
109                 break;
110             }
111         }
112     }
113 }
原文地址:https://www.cnblogs.com/zhanhaoze/p/13221129.html