Java Map集合实战:通过HashMap实现学生增加、删除功能

小编
小编
小编
172
文章
1
评论
2020-10-1017:35:27 评论 1,766

在上一节《Java Map集合:HashMap》的实例中,仅实现了对学生的删除功能,本节中要求不仅实现程序运行时生成一个初始化的学生信息列表,同时可以根据不同菜单实现学生增加、删除功能。解决思路:添加学生信息时,通过HashMap的put方法即可实现。本案例中,学生的添加和删除功能,分别通过两个自定义方法实现。

项目实现效果如下:

Java Map集合实战:通过HashMap实现学生增加、删除功能

图1添加学生

Java Map集合实战:通过HashMap实现学生增加、删除功能

图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);
		}
	}

}

 

匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: