文章目录

  • 一、使用 map 集合的 each 方法遍历 map 集合
  • 二、代码示例

一、使用 map 集合的 each 方法遍历 map 集合


遍历 map 集合 , 可以调用 map 集合的 each 方法 ;

list 集合中 , 调用 each 方法 , 传入的闭包中有 111 个参数 ; 参考 【Groovy】集合遍历 ( 使用 for 循环遍历集合 | 使用集合的 each 方法遍历集合 | 集合的 each 方法返回值分析 ) 集合 ;

map 集合中 , 调用 each 方法 , 传入的闭包有 222 个参数 ; 222 个参数分别是 Key 和 Value , 这两个参数没有指定类型 , 会根据当前遍历的 map 集合进行自动类型适配 ;

map 集合的 each 方法 函数原型 :

    /*** 允许使用闭包迭代映射。* 如果闭包接受一个参数,那么它将被传递给映射。* 否则,如果闭包采用两个参数,则将向其传递键和值。* * <pre class="groovyTestCase">def result = ""* [a:1, b:3].each { key, value -> result += "$key$value" }* assert result == "a1b3"</pre>* <pre class="groovyTestCase">def result = ""* [a:1, b:3].each { entry -> result += entry }* assert result == "a=1b=3"</pre>** 通常,无法保证地图内容的处理顺序。* 在实践中,地图的特殊形式,例如树形图,* 将根据地图的自然顺序处理其内容。** @param self    要遍历的 map 集合* @param closure 在映射的每个条目上应用1或2 arg闭包* @return 返回 self 参数* @since 1.5.0*/public static <K, V> Map<K, V> each(Map<K, V> self, @ClosureParams(MapEntryOrKeyValue.class) Closure closure) {for (Map.Entry entry : self.entrySet()) {callClosureForMapEntry(closure, entry);}return self;}

二、代码示例


代码示例 :

class Test {static void main(args) {// 创建键值对// 键 Key 可以不使用引号 , 可以使用单引号 '' , 也可以使用双引号 ""def map = [J:"Java", "K":"Kotlin", 'G':"Groovy"]// 遍历 map 集合map.each { key, value ->println "${key} = ${value}"}}
}

执行结果 :

J = Java
K = Kotlin
G = Groovy

【Groovy】map 集合 ( map 集合遍历 | 使用 map 集合的 each 方法遍历 map 集合 | 代码示例 )相关推荐

  1. 【Groovy】使用 Groovy 语言开发服务器 Server 和客户端 Client 套接字程序 ( 服务器客户端完整代码示例 | 运行服务器端与客户端效果及过程分析 )

    文章目录 一.服务器端完整代码 Server.groovy 二.客户端完整代码 Client.groovy 三.运行服务器端与客户端效果及过程分析 一.服务器端完整代码 Server.groovy 参 ...

  2. 【Groovy】集合遍历 ( 使用 for 循环遍历集合 | 使用集合的 each 方法遍历集合 | 集合的 each 方法返回值分析 )

    文章目录 一.使用 for 循环遍历集合 二.使用 each 方法遍历集合 三.集合的 each 方法返回值分析 四.完整代码示例 一.使用 for 循环遍历集合 使用 for 循环 , 遍历集合 , ...

  3. ES6语法~解构赋值、箭头函数、class类继承及属性方法、map、set、symbol、rest、new.target、 Object.entries......

    2015年6月17日 ECMAScript 6发布正式版本 前面介绍基本语法,  后面为class用法及属性方法.set.symbol.rest等语法. 一.基本语法:  1.         定义变 ...

  4. 【EventBus】事件通信框架 ( 订阅方法注册 | 注册 事件类型 - 订阅类 + 订阅方法 到指定集合 | 取消注册 数据准备 )

    文章目录 一.注册订阅方法 二.完整代码示例 一.注册订阅方法 订阅方法注册的过程就是将 订阅方法参数类型 和 订阅类 + 订阅方法 封装类 , 保存到 Map<Class<?>, ...

  5. 【Groovy】闭包 Closure ( 闭包调用 与 call 方法关联 | 接口中定义 call() 方法 | 类中定义 call() 方法 | 代码示例 )

    文章目录 总结 一.接口中定义 call() 方法 二.类中定义 call() 方法 三.完整代码示例 总结 在 实例对象后使用 " () " 括号符号 , 表示调用该实例对象的 ...

  6. 【Groovy】map 集合 ( map 集合遍历 | 使用 map 集合的 find 方法遍历 map 集合 | 代码示例 )

    文章目录 一.使用 map 集合的 find 方法遍历 map 集合 二.代码示例 一.使用 map 集合的 find 方法遍历 map 集合 使用 map 集合的 find 方法遍历 map 集合 ...

  7. 【Groovy】map 集合 ( map 集合操作符重载 | *. 展开操作符 | 代码示例 )

    文章目录 一.map 集合 " *. " 展开操作符 二.代码示例 一.map 集合 " *. " 展开操作符 对 map 集合使用 " *. &qu ...

  8. 【Groovy】map 集合 ( map 集合操作符重载 | 使用 << 操作符添加一个元素 | 代码示例 )

    文章目录 一.使用 " << " 操作符添加一个元素 二.代码示例 一.使用 " << " 操作符添加一个元素 对 map 集合 使用 ...

  9. 【Groovy】map 集合 ( map 集合操作符重载 | - 操作符重载 | 代码示例 )

    文章目录 一.map 集合 " - " 操作符重载 二.完整代码示例 一.map 集合 " - " 操作符重载 对 map 集合 使用 " - &qu ...

最新文章

  1. SAP RETAIL WB02 为门店激活物料分类账报错 - Distribution chain NMI1 00 not valid for retail price determination -
  2. linux 可运行的最大 线程 进程 数
  3. 使用 ExtJs Extender Controls 遇到的第一个错误
  4. nb-iot简介【转】
  5. switch里能不能用continue?
  6. VUE技术栈学习笔记(https://segmentfault.com/a/1190000012530187)
  7. 科学家公布“寿命计算器”,快算一下你能活多久?
  8. 无人驾驶飞机来了!空难后波音的电动飞机你敢乘吗?
  9. OPNsense用户手册-多WAN设置
  10. 在Debian 4.0rc3上编译内核2.6.24时加入Layer7模块笔记[防火墙中在TCP/IP第七层Layer7应用层阻挡QQ,MSN等软件的应用]...
  11. SQL查询语句大全(个人总结)
  12. sap销售发货的流程_SAP系统销售流程
  13. k3服务器系统资源不足,金蝶k3云服务器已离线
  14. 自考本科的单科成绩包括英语和计算机吗,自考问题自考统考科目(例如:英语,计算机等 – 手机爱问...
  15. 关于chrome、edge浏览器f12开发者模式的application中无法添加参数的问题
  16. 如何为Win10开启DoH(DNS over HTTPS)
  17. html5 端午节 龙舟,端午节看龙舟作文(精选5篇)
  18. 移动开发与H5交互的研究
  19. linux和aws需要什么配置电脑,AWS EC2云服务器环境配置
  20. 【人工智能】关于人类大脑模型的一些数学公式

热门文章

  1. memcached的最佳实践方案(转)
  2. android中Logcat的TAG过滤
  3. asp.net服务器控件button先执行js再执行后台的方法
  4. CSS定位布局display/float/position属性之间的关系/区别和如何使用取值行为机制
  5. 随手小记 才知道系列
  6. JAVA基础之理解JNI原理
  7. 关于Gitlab若干权限问题
  8. Python3 编码讲解
  9. linux useradd(adduser)命令参数及用法详解(linux创建新用户命令)
  10. Vivado HLS error: Cannot find ISE in the PATH variable or it's an unsupported version