通过存储学生信息,使用HashMap

来源:互联网 发布:打卡机的数据怎么修改 编辑:程序博客网 时间:2024/06/05 06:35
package com.starlet.collection;import java.util.HashMap;import java.util.Map;import java.util.Map.Entry;import java.util.Scanner;import java.util.Set;public class MapTest {/** * 存储学生信息 */public Map<String, Student> students;/** * 在构造函数中初始化students属性 */public MapTest() {this.students = new HashMap<String, Student>();}/** * 增加三条学生信息 */public void testPut() {Scanner console = new Scanner(System.in);int i = 0;while(i < 3) {System.out.println("请输入学生ID:");String id = console.next();Student st = students.get(id);if(st == null) {System.out.println("请输入学生姓名:");String name = console.next();//创建新的学生对象Student newStudent = new Student(id, name);students.put(id, newStudent);System.out.println("成功添加学生:" + students.get(id).getName());i++;} else {System.out.println("该学生ID已被占用!");}}}/** * 测试keySet方法 */public void testKeySet() {// 通过keySet方法,获取Map中的所有key的Set集合Set<String> keySet = students.keySet();System.out.println("总共有:" + keySet.size() + "个学生");// 便利keySet,获取key。在调用Map的get方法,取得每个键对应的valuefor(String key : keySet) {Student temp = students.get(key);if(temp != null) {System.out.println("当前学生:" + temp.getName());}}}/** * 测试remove方法 */public void testRemove() {Scanner console = new Scanner(System.in);while(true) {System.out.println("请输入要删除的学生id:");String ID = console.next();Student st = students.get(ID);if(st == null) {System.out.println("该ID不存在");} else {students.remove(ID);System.out.println("已删除学生" + st.getName());break;}}}/** * 测试EntrySet方法 */public void testEntrySet() {Set<Entry<String, Student>> entrySet = students.entrySet();for(Entry<String, Student> entry : entrySet) {System.out.println("取得键:" + entry.getKey());System.out.println("对应的值为:" + entry.getValue().getName());}}/** * 利用put方法修改Map中的已有映射 */public void testModify() {System.out.println("请输入要修改的学生id:");Scanner console = new Scanner(System.in);while(true) {String id = console.next();Student st = students.get(id);if(st == null) {System.out.println("该学生不存在,请重新输入。");} else {System.out.println("当前id对应的学生的姓名:" + st.getName());System.out.println("请输入新的学生姓名:");String name = console.next();students.put(id, new Student(id, name));System.out.println("修改成功");break;}}}public static void main(String[] args) {MapTest mt = new MapTest();mt.testPut();mt.testKeySet();//mt.testRemove();//mt.testEntrySet();mt.testModify();mt.testEntrySet();}}

原创粉丝点击