在上一节《Java Map集合:HashMap》的实例中,仅实现了对学生的删除功能,本节中要求不仅实现程序运行时生成一个初始化的学生信息列表,同时可以根据不同菜单实现学生增加、删除功能。解决思路:添加学生信息时,通过HashMap的put方法即可实现。本案例中,学生的添加和删除功能,分别通过两个自定义方法实现。
项目实现效果如下:
图1添加学生
图2删除学生
新建一个类名为StuMang,具体实现代码如下:
import java.util.HashMap; import java.util.Iterator; import java.util.Scanner; import java.util.Set; public class StuMang { //本方法实现遍历输出现有学生名单 public static void info(HashMap a) { System.out.println("现有学生名单:"); Set s=a.keySet(); Iterator it=s.iterator(); while(it.hasNext()) { Object k=it.next(); Object v=a.get(k); System.out.println("学号:"+k+",姓名:"+v); } } //本方法实现添加学生 public static void add(HashMap a) { Scanner sc=new Scanner(System.in); System.out.println("请输入学号:"); int n=sc.nextInt(); System.out.println("请输入姓名:"); String s=sc.next(); a.put(n, s); System.out.println("学生添加完毕"); } //本方法实现删除学生 public static void del(HashMap a) { Scanner sc=new Scanner(System.in); System.out.println("请输入要删除学生的学号:"); int n=sc.nextInt(); if(a.containsKey(n)) {//containsKey方法用于返回集合中的元素是否存在 a.remove(n);//删除元素 System.out.println("学生已删除"); } else { System.out.println("学生未找到"); } } public static void main(String[] args) { HashMap h=new HashMap(); h.put(001, "张三"); h.put(002, "李四"); info(h); //while循环条件为true,即永远满足条件,每次执行完毕后都会执行后面的菜单显示代码 while(true) { System.out.println("--功能菜单--"); System.out.println("--1.增加学生--"); System.out.println("--2.删除学生--"); Scanner sc=new Scanner(System.in); int i=sc.nextInt(); switch(i) { case 1: add(h); break; case 2: del(h); break; } info(h); } } }
评论