通过存储学生信息,使用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();}}
阅读全文
0 0
- 通过存储学生信息,使用HashMap
- HashMap获取学生信息
- 练习:存储学生信息
- 使用顺序表完成学生信息的存储
- 分拣存储3-HashMap实现学生选课
- HashMap存储的使用
- 通过继承泛型类实现输出学生信息
- 输入学生信息并存储新文件
- 用链表来实现学生信息的存储
- 存储班长信息的学生类
- 存储班长信息的学生类
- 存储班长信息的学生类
- 存储班长信息的学生类
- 存储班长信息的学生类
- 11.1 存储班长信息的学生类
- 存储班长信息的学生类
- 存储班长信息的学生类
- 11.1存储班长信息的学生类
- Java日期工具类
- bzoj1766: [Ceoi2009]photo
- Java DateUtil 日期工具类
- ROS探索总结(一)——ROS简介
- 夸域名,cookies无法获取保存
- 通过存储学生信息,使用HashMap
- get和post的区别
- 安卓客户端模拟登陆学校图书馆,并抓取借阅记录等信息,同时实现续借图书的功能。
- POJ 1952 BUY LOW, BUY LOWER 笔记
- 日记开始
- form提交的几种方法
- PowerShell 读写Unicode文件
- Boolan STL与泛型编程 第三周笔记
- 好的需求评审流程该怎么走?