Map接口中定义了很多方法,常用的如下:

public V put(K key,V value) 将指定的值与此映射中的指定键相关联(可选操作)

V remove(Object key); 如果此映射中存在该键的映射关系,则将其删除

V get(Object key); 返回指定键在此标识哈希映射中所映射的值,如果对于此键来说,映射不包含任何映射关系,则返回 null

Set<K> keySet();返回此映射中所包含的键的 set 视图

Set<Map.Entry<K,V>> entrySet();返回此映射所包含的映射关系的 collection 视图

boolean containsKey(Object key)如果此映射包含对于指定的键的映射关系,则返回 true

public static void main(String[] args) {
/**
* public V put(K key,V Value):把指定的键与值添加到Map集合中
* 返回值V
* 存储键值对的时候,key不重复,返回值v是null
* 存储键值对的时候,key重复,会使用新的value替换map集合中重复的value,返回的是替换的值
*/
HashMap<String, String> map = new HashMap<>();
String v1 = map.put("李晨", "范冰冰1");
System.out.println("v1:"+v1);//v1:null String v2 = map.put("李晨", "范冰冰2");
System.out.println("v2:"+v2);//v2:范冰冰1 System.out.println(map);//{李晨=范冰冰2} map.put("冷风","龙小云");
map.put("杨过","小龙女");
map.put("尹志平","小龙女");
System.out.println(map);//{杨过=小龙女, 尹志平=小龙女, 李晨=范冰冰2, 冷风=龙小云} /**
* V remove(Object key); 如果此映射中存在该键的映射关系,则将其删除。
* 返回值V
* 如果key存在,v返回被删除的值
* 如果key不存在,v返回空
*/ HashMap<String, Integer> map = new HashMap<>();
map.put("赵丽颖",168);
map.put("杨颖",165);
map.put("林志玲",178); System.out.println(map);//{林志玲=178, 赵丽颖=168, 杨颖=165}
Integer rm1 = map.remove("林志玲"); System.out.println("rm1:"+rm1);//r1:178
System.out.println(map);//{赵丽颖=168, 杨颖=165} Integer rm2 = map.remove("林志玲");
System.out.println("rm2:"+rm2);//rm1:null /**
* V get(Object key); 返回指定键在此标识哈希映射中所映射的值,如果对于此键来说,映射不包含任何映射关系,则返回 null。
* 返回值:
* key存在,返回对应的value
* key不存在,返回null
*/
HashMap<String, Integer> map = new HashMap<>();
map.put("赵丽颖",168);
map.put("杨颖",165);
map.put("林志玲",178); Integer v1 = map.get("杨颖");
System.out.println("v1:"+v1);//v1:165 Integer v2 = map.get("迪丽热巴");
System.out.println("v2:"+v2);//v2:null /**
* boolean containsKey(Object key)如果此映射包含对于指定的键的映射关系,则返回 true。
* 包含返回true
* 不包含返回false
*/ HashMap<String, Integer> map = new HashMap<>();
map.put("赵丽颖",168);
map.put("杨颖",165);
map.put("林志玲",178); boolean b1 = map.containsKey("赵丽颖");
System.out.println("b1:"+b1);//b1:true boolean b2 = map.containsKey("赵颖");
System.out.println("b2:"+b2);//b2:false
}

Map集合遍历键找值方式

键找值方式:即通过元素中的键,获取键所对应的值
分析步骤:
1.获取Map中所有的键,由于键是唯一个,所以返回一个Set集合存储所有的键。方法提示:KeySet()

2.遍历键的Set集合,得到每一个键

3.根据键,获取键所对应的值。方法提示get(K key)

public static void main(String[] args) {
/**
* Map集合的第一种遍历方式通过键找值的方式
* Map集合中的方法
* Set<V> keySet()返回此映射中包含键的set视图
* 实现步骤:
* 1.使用Map中俄方法keySet*();把Map集合中所有的key取出来,存储到一个Set集合中
* 2.遍历Set集合获取Map集合中的每一个key
* 3.通过Map集合中的get(Key),通过key找到value
*/ HashMap<String, Integer> map = new HashMap<>();
map.put("赵丽颖",168);
map.put("杨颖",165);
map.put("林志玲",178); Set<String> keySet = map.keySet();
for (String s : keySet) {
Integer integer = map.get(s);
System.out.println(integer);
}
}

Map接口中的常用方法和Map集合遍历键找值方式的更多相关文章

  1. 阶段1 语言基础+高级_1-3-Java语言高级_04-集合_08 Map集合_4_Map集合遍历键找值方式

    键找值的方式 增强for 增强for的简化方式

  2. List集合_介绍&常用方法和ArrayList集合

    List集合 我们掌握了Collection接口的使用后,再来看看Collection接口中的子类,他们都具备那些特性呢? 接下来,我们一起学习Collection中的常用几个子类(java.util ...

  3. Java基础知识强化之集合框架笔记52:Map集合之Map集合的遍历 键找值

    1. Map集合的遍历  Map -- 夫妻对 思路:  A:把所有的丈夫给集中起来.  B:遍历丈夫的集合,获取得到每一个丈夫.  C:让丈夫去找自己的妻子.  转换:  A:获取所有的键  B:遍 ...

  4. Map集合遍历的四种方式理解和简单使用

    ~Map集合是键值对形式存储值的,所以遍历Map集合无非就是获取键和值,根据实际需求,进行获取键和值 1:无非就是通过map.keySet()获取到值,然后根据键获取到值 for(String s:m ...

  5. 集合遍历数组三种常用方式(Collecton和Map)

    Collection集合遍历数组的三种方式: 迭代器 foreach(增强for循环) JDK1.8之后的新技术Lambda 迭代器: 方法:public Iterator inerator():获取 ...

  6. Java—Map接口中的常用方法

    Map接口与Collection接口的区别 Collection中的集合,元素是孤立存在的(理解为单身),向集合中存储元素采用一个个元素的方式存储. Map中的集合,元素是成对存在的(理解为夫妻).每 ...

  7. Java8新特性(一)_interface中的static方法和default方法

    什么要单独写个Java8新特性,一个原因是我目前所在的公司用的是jdk8,并且框架中用了大量的Java8的新特性,如上篇文章写到的stream方法进行过滤map集合.stream方法就是接口Colle ...

  8. JS中的call()方法和apply()方法用法总结

    原文引自:https://blog.csdn.net/ganyingxie123456/article/details/70855586 最近又遇到了JacvaScript中的call()方法和app ...

  9. 【转载】C#中double.TryParse方法和double.Parse方法的异同之处

    在C#编程过程中,double.TryParse方法和double.Parse方法都可以将字符串string转换为double类型,但两者还是有区别,最重要的区别在于double.TryParse方法 ...

随机推荐

  1. XCTF练习题---MISC---倒立屋

    XCTF练习题---MISC---倒立屋 flag:flag{9102_cCsI} 解题步骤: 1.观察题目,下载附件 2.打开发现是个倒立的屋子,并没有发现啥东西,拿StegSolve看看 3.查了 ...

  2. 命令工具 -(1)Vim 文本编辑器学习

    关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ 前言 提起 Linux,大家都听说过这句话:Linux 一切皆文件. 配置一个服务就是在修改它 ...

  3. Redis GEO 地理位置

    目录 GEO指令 GEOADD GEODIST GEOPOP GEOHASH GEORADIUS GEORADIUSBYMEMBER 指令补充 删除操作 避免单集合数量过多 存储原理 GEOADD存储 ...

  4. 使用CSS实现《声生不息》节目Logo

    声明:本文涉及图文和模型素材仅用于个人学习.研究和欣赏,请勿二次修改.非法传播.转载.出版.商用.及进行其他获利行为. 背景 <声生不息> 是芒果TV.香港电视广播有限公司和湖南卫视联合推 ...

  5. IE 浏览器将停止服务,这是真的吗?

    浏览器通常是指用来检索.展示以及传递 Web 资源信息的一种应用程序,它能将网页.图片.视频等等 Web 上的信息呈现给我们. 如果现在发起一个投票:"你觉得好用的浏览器是什么?" ...

  6. spring 事务传播(Propagation)

    propagation 一共有以下几种选项: 1. REQUIRED(默认): 使用当前的事务,如果当前没有事务,则自己新建一个事务,子方法必须运行在一个事务中:如果当前存在事务,则加入这个事务,成为 ...

  7. 【低码】asp.net core 实体类可生产 CRUD 后台管理界面

    前言介绍 喜欢小规模团队的"单打独斗",有的时候即使在大公司,也经常做着3-5个人团队的小项目,相信很多人有类似的经历. 本文介绍如何将项目中已存在的[实体类],直接生产出 CRUD 后台管理界面. ...

  8. 【多线程】线程礼让 Thread.yield()

    线程礼让 Thread.yield() 礼让线程,让当前正在执行的线程暂停,但不阻塞 : 将线程从运行状态转为就绪状态 : 让cpu重新调度,礼让不一定成功!看CPU心情. 代码示例: /** * @ ...

  9. antdVue问题

    antdVue框架问题 #(1)slot/slot-scope插槽问题 一般用于表格数据渲染 eg: <span slot="user" slot-scope="t ...

  10. Datax源码改造关键步骤记录

    Datax源码改造关键步骤记录: 一.作业配置1.一个job配置:reader 和writer 的column 字段必须是所有表共有的:2.reader多张表,writer一个表时,所有reader的 ...