首页 > 其他分享 >HashMap-2023-1-2

HashMap-2023-1-2

时间:2023-01-02 20:11:45浏览次数:56  
标签:HashMap students System name 2023 println ID out

package Collection;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;

public class MapTest {

public Map<String,Student> students;

public MapTest() {
this.students = new HashMap<String,Student>();
}

//测试添加
public void testPut(){
//创建一个scanner类,用于录入学生ID和姓名
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);
//通过调用PUT方法,添加ID-学生映射
students.put(ID,newstudent);
System.out.println("成功添加学生:"+students.get(ID).name);
i++;}
else {
System.out.println("该ID已被占用");
continue;
}
}
}

public void testKeySet(){
// 通过KEYSET方法,返回Map中的所有“键”的SET集合
Set<String> keySet = students.keySet();
//取得students容量大小
System.out.println("总共有:"+students.size()+"个学生");
//通过遍历keyset,取得每一个键,再调用get方法取得每个键对应的value
for (String stuId:keySet) {
Student st = students.get(stuId);
if (st!=null)
System.out.println("学生:"+st.name);
}
}

//测试删除MAP中的映射
public void testRemove(){

Scanner console = new Scanner(System.in);
while (true){
System.out.println("请输入要删除的学生ID:");
String ID = console.next();
//把ID的东西给学生对象,判断是否有对应学生对象
Student st = students.get(ID);
if (st==null){
System.out.println("该ID不存在");
continue;
}
students.remove(ID);
System.out.println("成功删除学生"+st.id+st.name);
break;
}
}

//通过ENTRYSET来遍历
public void testEntrySet(){
Set<Map.Entry<String,Student>> entrySet = students.entrySet();
for (Map.Entry<String,Student>entry:entrySet){
System.out.println("取得键:"+entry.getKey());
System.out.println("对应的值为:"+entry.getValue().id+entry.getValue().name);
}
}

/**
利用put方法修改MAP中的已有映射
*/
public void testModify(){
//提示输入要修改的学生
System.out.println("请输入要修改的学生ID:");
//录入
Scanner console = new Scanner(System.in);
while (true){
String stuID = console.next();
Student student = students.get(stuID);
if (student==null){
System.out.println("该ID不存在,请重新输入");
continue;
}
System.out.println("当前该学生ID,所对应的学生为:"+student.name);
//输入新的姓名
System.out.println("请输入新的学生姓名:");
String name = console.next();
Student newStudent = new Student(stuID,name);
students.put(stuID,newStudent);
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();
}

}

标签:HashMap,students,System,name,2023,println,ID,out
From: https://www.cnblogs.com/RUI2022/p/17020426.html

相关文章

  • 2023年跨年演讲对技术人的一点启发
    前言故事1.电动车与书店罗胖点评大叔点评故事2.《螃蟹与红酒》罗胖点评大叔点评故事3.《甘地与糖》罗胖点评大叔点评故事4.《60秒与10年》罗胖点评......
  • 2023/1/2 周报
    周报本周总结​ 最近状态不佳,特别是打abc的时候,总感觉就是刷了很多题,但是就是不会写,赛后被人一启发就能知道怎么写并且写出来,让我想是不是自己的刷题方式有问题,太过于依......
  • SZTUACM寒假周报(2022.12.24~2023.1.1)
    SZTUACM寒假周报(2022.12.24~2023.1.1)杂项——搜索专题知识整理前言:因为之前搜索学得很随意,知识点很杂,加上期末一直在赶ddl,投入训练时间很少,所以本周决定整理一下有关搜......
  • 2023.1.2 No.5 新年
    距离上一次写日记过去了一个多月了,我12月初回的家,带着一大堆的实验报告。但是谁也没想到刚回家一周不到就放开了,12月中旬我母亲感染,几天后我也跟着感染。回家后摆烂导......
  • 2023.1.1
    昨天决定记录一下每天的琐碎以及获得的知识,但是呢,毕竟很懒,所以,第一天计划就搁浅了,哈哈。补吧,能写几天是几天毕竟是回忆么,就没有琐碎日常了。今天(1.1)晚上看了阿玮的Java的基......
  • AutoCAD Civil3D 2023安装图文教程
    ​Civil3D2023简单介绍Civil3D设计软件是土木工程师的首选软件,也是民用大众领域的综合解决方案,同时Civil3D提供了AutoCAD和AutoCADMap3D的功能,该软件使用基于模型的......
  • 2023元旦小结
    2023新的一年又开始了,记得上次说类似的话已经是368天前了。今天就来复盘下2022年来的一些取舍。这一年行业很冷,冷到各个大厂都在裁员,我一小公司也不例外,三月份......
  • 2023.1.2 营业日志
    新年快乐。P3895[湖南集训]HungryRabbitAnalysis考虑网络流。发现限制相当于每天最多添加\(l\)个兔子,扔掉\(l\)个兔子,为了方便讨论我们认为刚刚加入的兔子可以被......
  • Kusto 2023 快速入门 开篇 —— 启发式和探索式的大数据分析工具
    陈希章2023年1月2日于上海这是一个献给自己的新年礼物,但其实已经构思了很久,这一方面跟我多年的工作经历有关——我的职业生涯中最为有意思的部分可能就是跟数据打......
  • foreach-2023-1-2
    for循环条件语句中的这个(intnum:nums)是什么意思?foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供了极大的方便。foreach语句是for语句的特殊简......