当前位置: 首页 > news >正文

遍历Map集合、修改Map集合中的value值

Map集合是基于java核心类——java.util中的;

Map集合用于储存元素对,Map储存的是一对键值(key和value),是通过key映射到它的value

values(): 是获取集合中的所有的值----没有键,没有对应关系。

KeySet(): 将Map中所有的键存入到set集合中。因为set具备迭代器。所有可以迭代方式取出所有的键,再根据get方法。获取每一个键对应的值。迭代后只能通过get()取key 。

entrySet():是返回此映射中包含的映射关系的 Set 视图。 Map.Entry表示映射关系,迭代后可以e.getKey(),e.getValue()取key和value。返回的是Entry接口 。

for each遍历

1 importjava.util.Iterator;2 importjava.util.Map;3

4 /**

5 * @Title: mapTest6 * @Description:7 *@author阿伟8 * @createTime 2018年11月26日下午7:31:039 */

10 public classmapTest {11 public static voidmain(String[] args) {12 Mapmap = new HashMap();13 map.put(“student1”, “阿伟”);14 map.put(“student2”, “小李”);15 map.put(“student3”, “小张”);16 map.put(“student4”, “小王”);17 //

18 // //1.使用entrySet()遍历

19 System.out.println(“使用entrySet()遍历”);20 Iterator it =map.entrySet().iterator();21 while(it.hasNext()) {22 Map.Entry entry =(Map.Entry) it.next();23 Object key =entry.getKey();24 Object value =entry.getValue();25 System.out.println(“key=”+key+" value"+value);26

27 }28 //2.通过Map.Keyset遍历key和value,普遍使用,二次取值

29 System.out.println(“通过Map.Keyset遍历key和value,普遍使用,二次取值”);30 for(String key:map.keySet()){31 System.out.println(“Key=”+key+" value="+map.get(key));32 }33 //3通过map.values()遍历所有的value,但不能遍历key

34 System.out.println(“通过map.values()遍历所有的value,但不能遍历key”);35 for(String v:map.values()){36 System.out.println(“value=”+v);37 }38 //4通过map.entrySet遍历key和value(推荐使用,特别是容量大时)

39 System.out.println(“通过map.entrySet遍历key和value(推荐使用,特别是容量大时)”);40 for(Map.Entryentry:map.entrySet()){41 System.out.println(“key=”+entry.getKey()+" value="+entry.getValue());42 }43

44 }45

46 }

--------------------测试结果-----------------------------------

集合中根据是否含有要修改的 Key 键来决定是否要修改相应的 value 值

1 public static voidgetStringContent(){2 Map map = new HashMap();3 map.put(“张三”, “111111”);4 map.put(“李四”, “222222”);5 String time_info_deadline = “”;6 String cc = “张三”;7 if(map.containsKey(cc)){8 String value =map.get(cc).toString();9 value = value +“;” +“重复”;10 map.put(cc, value);11 }else{12 map.put(cc, “121212”);13 }14

15 for(Map.Entryentry : map.entrySet()){16 String keyName =entry.getKey();17 String value =entry.getValue().toString();18

19 time_info_deadline = time_info_deadline + “;” + keyName + “:” +value;20 }21 System.out.println(time_info_deadline.substring(1));22 }

结果查看:

1 public static voidgetStringContent(){2 Map map = new HashMap();3 map.put(“张三”, “111111”);4 map.put(“李四”, “222222”);5 String time_info_deadline = “”;6 String cc = “王五”;7 if(map.containsKey(cc)){8 String value =map.get(cc).toString();9 value = value +“;” +“重复”;10 map.put(cc, value);11 }else{12 map.put(cc, “121212”);13 }14

15 for(Map.Entryentry : map.entrySet()){16 String keyName =entry.getKey();17 String value =entry.getValue().toString();18

19 time_info_deadline = time_info_deadline + “;” + keyName + “:” +value;20 }21 System.out.println(time_info_deadline.substring(1));22 }

结果查看:

由上述代码可以看到:

当map集合中再次放入已存在的key时,二次存入的Key,Value 会将原来的key,value 全部覆盖掉,只留存新的key,value

相关文章:

  • Tapdata 杨哲轩:如何在零售行业实施主数据治理?
  • POSIX线程使用signal模拟“中断“处理流程
  • 深入Spring Boot :整合Redis详解
  • 检测数据类型
  • java多线程面试总结,字节跳动java面试题
  • python读取json格式文件大量数据,以及python字典和列表嵌套用法详解
  • 前端新特性
  • 有什么低价好用的电容笔推荐?大一新生必备物品
  • Vite打包优化插件
  • 一文搞懂nginx的反向代理 负载均衡
  • Redis的哨兵模式搭建
  • 闭包、闭包应用场景
  • 瑞吉外卖 —— 2、后台登录和登出
  • 阿里云配置hadoop远程连接Web页面(如50070端口)
  • Linux 任务调度
  • 分享的文章《人生如棋》
  • [LeetCode] Wiggle Sort
  • 78. Subsets
  • ES6之路之模块详解
  • leetcode46 Permutation 排列组合
  • Meteor的表单提交:Form
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • vue总结
  • Zepto.js源码学习之二
  • 读懂package.json -- 依赖管理
  • 关于extract.autodesk.io的一些说明
  • 检测对象或数组
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 蓝海存储开关机注意事项总结
  • 人脸识别最新开发经验demo
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 学习JavaScript数据结构与算法 — 树
  • const的用法,特别是用在函数前面与后面的区别
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • ​什么是bug?bug的源头在哪里?
  • #1014 : Trie树
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • %@ page import=%的用法
  • %3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (附源码)spring boot儿童教育管理系统 毕业设计 281442
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (三)centos7案例实战—vmware虚拟机硬盘挂载与卸载
  • (转)【Hibernate总结系列】使用举例
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .net 流——流的类型体系简单介绍
  • .NET中两种OCR方式对比