Java开发笔记(五)之集合框架 Map
java笔记目录
- Map 与 HashMap的介绍
- Map 增加元素实例
- Map 删除元素实例
- Map修改元素实例
Map 与 HashMap的介绍
Map 增加元素实例
import java.util.HashMap;
import java.util.Map;
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>();}/*** 测试添加:输入学生ID*/public void testPut() {Scanner console = new Scanner(System.in);int i = 0;while (i < 3) {System.out.println("请输入学生ID");String ID = console.next();//判断学生ID 是否被占用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).name);i++;} else {System.out.println("学生ID 被占用");continue;}}}/*** 测试Map的keySet方法* @param args*/public void testKeySet() {// 通过keySet 方法,返回Map 中所有“键”的Set集合Set<String> keySet = students.keySet();// 取得students的容量System.out.println("总共有:" + students.size() + "个学生!");// 遍历keySet,取得每一个键,再条用get() 方法取得每一个键对应的valuefor (String stuId : keySet) {Student st = students.get(stuId);if (st != null) {System.out.println("学生:" + st.name);}}}public static void main(String[] args) {MapTest mt = new MapTest();mt.testPut();mt.testKeySet();}
}
请输入学生ID
1
请输入学生姓名:
tom
成功添加学生:tom
请输入学生ID
1
学生ID 被占用
请输入学生ID
2
请输入学生姓名:
jack
成功添加学生:jack
请输入学生ID
3
请输入学生姓名:
xiadao
成功添加学生:xiadao
总共有:3个学生!
学生:tom
学生:jack
学生:xiadao
Map 删除元素实例
/*** 测试删除Map 中的映射* * @param args*/public void testRemove() {// 获取从键盘输入的待删除学生ID 字符串Scanner console = new Scanner(System.in);while (true) {// 提示输入待删除的学生IDSystem.out.println("请输入要删除的学生ID");String ID = console.next();Student st = students.get(ID);if (st == null) {// 提示输入的ID 不存在System.out.println("该ID不存在");continue;}students.remove(ID);System.out.println("成功删除学生:" + st.name);break;}}/*** 通过 entrySet 方法遍历Map* * @param args*/public void testEntrySet() {// 通过entrySet 方法,返回Map中所有键值对Set<Entry<String, Student>> entrySet = students.entrySet();for (Entry<String, Student> entry : entrySet) {System.out.println("取得键为:" + entry.getKey());System.out.println("对应的值为:" + entry.getValue().name);}}public static void main(String[] args) {MapTest mt = new MapTest();mt.testPut();mt.testKeySet();mt.testRemove();mt.testEntrySet();}
请输入要删除的学生ID
1
成功删除学生:tom
取得键为:2
对应的值为:jack
取得键为:3
对应的值为:cat
Map修改元素实例
/*** 利用put方法修改Map中已有的映射*/public void testModify(){Scanner console = new Scanner(System.in);while (true) {System.out.println("请输入要修改的学生ID");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;}}
请输入要修改的学生ID
1
当前学生ID,所对应学生为:q
请重新输入学生姓名:
qq
修改成功
Java开发笔记(五)之集合框架 Map相关推荐
- 学习Java第二十五天--集合框架之集合嵌套案例
Map集合和其它集合嵌套的案例.以及Map集合和Map集合嵌套的案例 案例1:Map和ArrayList的嵌套 案例2:Map和Map的嵌套 案例1:Map和ArrayList的嵌套 import j ...
- c++ map iterator 获取key_Java集合框架——Map接口
第三阶段 JAVA常见对象的学习 集合框架--Map集合 在实际需求中,我们常常会遇到这样的问题,在诸多的数据中,通过其编号来寻找某一些信息,从而进行查看或者修改,例如通过学号查询学生信息.今天我们所 ...
- Java基础知识强化之集合框架笔记76:ConcurrentHashMap之 ConcurrentHashMap简介
1. ConcurrentHashMap简介: ConcurrentHashMap是一个线程安全的Hash Table,它的主要功能是提供了一组和Hashtable功能相同但是线程安全的方法.Conc ...
- Java开发笔记(五十六)利用枚举类型实现高级常量
前面介绍了联合利用final和static可实现常量的定义,该方式用于简单的常量倒还凑合,要是用于复杂的.安全性高的常量,那就力不从心了.例如以下几种情况,final结合static的方式便缺乏应对之 ...
- Java开发笔记(五十)几种开放性修饰符
前面介绍子类继承父类的时候,提到了public(公共)和private(私有)两个修饰符,其中public表示它所修饰的实体是允许外部访问的:而private表示它所修饰的实体不允许外部访问,只能在当 ...
- (硅谷课堂项目)Java开发笔记4:前端基础知识(二)
文章目录 (硅谷课堂项目)Java开发笔记4:前端基础知识(二) 一.NPM 1.NPM简介 1.1.什么是NPM 1.2.NPM工具的安装位置 2.使用npm管理项目 2.1.创建文件夹npm 2. ...
- Java 开发笔记 - wangEditor 编辑器图片上传
Java 开发笔记 - wangEditor 编辑器图片上传 前言 转型 java 开发后入手的第一个项目,写写博客记录一下 该项目使用的是 sping boot + mybatis plus + t ...
- Java开发笔记(二十三)数组工具Arrays
数组作为一种组合形式的数据类型,必然要求提供一些处理数组的简便办法,包括数组比较.数组复制.数组排序等等.为此Java专门设计了Arrays工具,该工具包含了几个常用方法,方便程序员对数组进行加工操作 ...
- Java开发人员可以从Spring框架中学到编程技巧
毫无疑问,Spring Framework是最受欢迎的Java框架之一,通过提供依赖注入和控制反转等特性,可以轻松创建真实的企业级Java应用程序.但是,Spring不仅是一个DI和IOC框架.通过提 ...
- Java开发笔记XML报文的解析
Java开发笔记XML报文的解析 前言 正文 代码示例 结语 前言 项目任务里需要解析xml报文. 于是开始着手学习相关知识,在查看了多篇博文后找到了一篇不错的,讲的很实用. 转载来源:Java开发笔 ...
最新文章
- 手机经常提示找不到服务器,经常出现找不到服务器是什么原因?什么网也打 – 手机爱问...
- vue项目部署到nginx
- hibernate教程--抓取策略
- ITK:计算灰度图像的梯度幅度
- 给新手程序员的一些建议
- android 跨应用,Android跨应用获取资源
- 改变你一生的五句话 (转)
- Linux——基础知识及命令
- 读《超级整理术》--对整理的思路
- 使用uniapp时十分方便的登录静态模板
- java获取本机ip和端口_java获取本机ip和端口
- 内网ip映射外网方法
- win10配置ffmpeg环境
- UE4-植被系统使用
- (CVPR-2022)AdaViT:用于高效图像识别的自适应视觉变换器
- Unity Shader之燃烧消散效果
- 【华人学者风采】林跃河 华盛顿州立大学
- RTX之——时间管理
- 无法连接到服务器的错误解决方案
- X86架构PC服务器等硬件设备