判断 Map 中是否包含指定的 key 和 value
package com.imooc.collection;import java.util.HashSet;
import java.util.Set;
/*** 学生类* @author Monica**/public class Student {public String id;public String name;public Set<Course> courses;public Student(String id,String name){this.id = id;this.name = name;this.courses = new HashSet<Course>();//set接口调用}@Overridepublic int hashCode() {final int prime = 31;int result = 1;result = prime * result + ((name == null) ? 0 : name.hashCode());return result;}@Overridepublic boolean equals(Object obj) {if (this == obj)return true;if (obj == null)return false;if (!(obj instanceof Student))return false;Student other = (Student) obj;if (name == null) {if (other.name != null)return false;} else if (!name.equals(other.name))return false;return true;}}
- 1
package com.imooc.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 {/*** 用来承装学生类型对象* @param args*/public Map<String,Student> students;/*** 在构造方法中初试化students属性* @param args*/public MapTest(){this.students = new HashMap<String,Student>();}/*** 测试添加:输入学生ID,判断是否被占用* 若未被占用,则输入姓名,创建新学生对象,并且添加到students中* @param args*/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();//判断该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-学生映射students.put(ID, newStudent);System.out.println("成功添加学生:"+students.get(ID).name);i++;}else{System.out.println("该学生ID已被占用!");continue;}}}/*** 测试Map中是否包含某个Key值或value值*/public void testContainsKeyOrValue(){//提示输入学生idSystem.out.println("请输入要查询的学生ID:");Scanner console = new Scanner(System.in);String id = console.next();//在Map中,用containsKey()方法,来判断是否包含某个Key值System.out.println("您输入的学生ID为:"+id+",在学生映射表中是否存在:"+students.containsKey(id));if(students.containsKey(id))System.out.println("对应的学生为:"+students.get(id).name);//提示输入学生姓名System.out.println("请输入要查询的学生姓名:");String name = console.next();//在containsValue()方法,来判断是否包含某个Value值if(students.containsValue(new Student(null,name)))System.out.println("在学生映射表中,确实包含学生:"+name);elseSystem.out.println("在学生映射表中不存在该学生!");}/*** 测试Map的keySet方法* @param args*/public void testKeySet(){//通过keySet方法,返回Map中的所有“键”的Set集合Set<String> keySet = students.keySet();//取得Map的容量,调用set方法System.out.println("总共有"+keySet.size()+"个学生");//通过遍历KeySet对象,取得每一个键,在调用get方法取得每个键对应的valuefor(String stuId:keySet){Student st = students.get(stuId);if(st!=null)System.out.println("学生:"+st.name);}}/*** 测试删除Map中的映射* @param args*/public void testRemove(){//获取从键盘输入的待删除学生Id字符串Scanner console = new Scanner(System.in);while(true){//提示输入待删除的学生的ID System.out.println("请输入要删除的学生ID!");String ID = console.next();//判断该ID是否有对应的学生对象Student st = students.get(ID);if(st==null){//提示输入的ID并不存在System.out.println("该ID不存在!");continue;}else{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);}}/*** 利用put方法修改Map中已有映射* @param args*/public void testModify(){//提示输入要修改的学生IdSystem.out.println("请输入要修改的学生ID:");//创建一个Scanner对象,去获取从键盘输入的学生ID字符串Scanner console = new Scanner(System.in);while(true){//取得从键盘输入的学生IDString stuID = console.next();//从students中查找该学生ID对应的学生对象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) {// TODO Auto-generated method stubMapTest mt = new MapTest();mt.testPut();mt.testKeySet();//mt.testRemove();//mt.testEntrySet();//mt.testModify();//mt.testEntrySet();mt.testContainsKeyOrValue();}}
判断 Map 中是否包含指定的 key 和 value相关推荐
- php判断数组中的键是否是某个字符串,php判断数组中是否存在指定键(key)的方法...
搜索热词 本文实例讲述了PHP判断数组中是否存在指定键(key)的方法.分享给大家供大家参考.具体分析如下: PHP中有两个函数用来判断数组中是否包含指定的键,分别是array_key_exists和 ...
- php 存在键,php判断数组中是否存在指定键(key)的方法
本文实例讲述了php判断数组中是否存在指定键(key)的方法.分享给大家供大家参考.具体分析如下: php中有两个函数用来判断数组中是否包含指定的键,分别是array_key_exists和isset ...
- 判断字符串中是否包含指定字符(JavaScript)
判断字符串中是否包含指定字符 indexOf() indexOf()方法可返回某个指定的字符串值在字符串中首次出现的位置.如果要检索的字符串值没有出现,则返回 -1. search() search( ...
- 2021-12-27 Java String contains() 方法用于判断字符串中是否包含指定的字符或字符串。用.toLowerCase().contains忽视大小写。
一.public boolean contains(CharSequence chars) contains() 方法用于判断字符串中是否包含指定的字符或字符串. 二.返回值 如果包含指 ...
- java+map对象判断空值_java判断map中是否存在指定对象
Map判断是否包含指定的value使用containsValue方法.(推荐:java视频教程) 定义 containsValue(Object value) 如果此映射将一个或多个键映射到指定值,则 ...
- jsoncpp判断Value中是否含有指定的key
方法1:使用Json::Value自带的函数,强烈推荐 bool HasMember1(Json::Value& value, string key) {return value.isMemb ...
- 判断字符串中是否包含指定字符的N种方法对比
方法一 var str ="abc"; if(str.indexOf("bc")!=-1){// !=-1含有 ==-1不含有 } 方法二 var str =& ...
- java判断字符串中是否包含某个字符
1 使用String类的contains()方法 contains()方法用于判断字符串中是否包含指定的字符或字符串.语法如下: public boolean contains(CharSequenc ...
- containskey java_Java Map.containsKey()方法:判断Map集合对象中是否包含指定的键名
搜索热词 Java 集合类中的 Map.containsKey() 方法判断 Map 集合对象中是否包含指定的键名.如果 Map 集合中包含指定的键名,则返回 true,否则返回 false. 语法: ...
最新文章
- H3C Boot升级 Serial模式
- 字节面试现场,问我如何高效设计一个LRU
- 服务器维护,日志分析常用命令
- vector的去重操作
- 将 Visual Studio 的代码片段导出到 VS Code
- 自建CDN Xnign产品指标
- 台大陈蕴侬、李宏毅“应用深度学习”课程(国语)
- azure不支持java1.9_java – 无法将Spring Boot应用程序部署到Azure
- 电子设计大赛简易自动入库小车设计
- PS——图像合成与渐变工具
- 用对分法求解方程x^3-x^2-x-1=0
- Armbian安装Docker之后的100种玩儿法《动态域名解析DDNS自动更新》
- visio 怎么画直线
- a推b等价于非a或b_手机系统将有A/B分区?Android 11这些变化你关注过吗
- 基于CORBA规范的中间件——CORBA基本原理
- UE4开发PSVR游戏流程
- reduce()方法使用详解
- java 图片 rgb_简单的java图片处理——如何用Java读出一张图片的RGB值?
- qt 容器组控件 Containers
- HTTP 升级到 HTTPS 基础知识详解