文章目录

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

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


使用 map 集合的 find 方法遍历 map 集合 , 传入一个闭包参数 ;

该闭包中 , 可以有 111 个参数 , 也可以有 222 个参数 ;

  • 如果 有 111 个参数 , 则 传递 Entry 键值对 对象 ;
  • 如果有 222 个参数 , 则 传递 键 和 值 两个对象 ;

该方法会返回 map 集合中 第一个查找到的 Entry 键值对对象 , 该对象中包含一个 键 和 值 ;

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

    /*** 查找与闭包条件匹配的第一个条目。* 如果闭包包含两个参数,则传递入口键和值。* 如果闭包包含一个参数,则映射。已传递Entry对象。* <pre class="groovyTestCase">assert [a:1, b:3].find { it.value == 3 }.key == "b"</pre>** @param self    map 集合* @param closure 闭包条件 , 有 1 或 2 个参数* @return 返回找到的第一个对象* @since 1.0*/public static <K, V> Map.Entry<K, V> find(Map<K, V> self, @ClosureParams(MapEntryOrKeyValue.class) Closure<?> closure) {BooleanClosureWrapper bcw = new BooleanClosureWrapper(closure);for (Map.Entry<K, V> entry : self.entrySet()) {if (bcw.callForMap(entry)) {return entry;}}return null;}

二、代码示例


代码示例 :

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

执行结果 :

J=Java

【Groovy】map 集合 ( map 集合遍历 | 使用 map 集合的 find 方法遍历 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 集合的 each 方法遍历 map 集合 | 代码示例 )

    文章目录 一.使用 map 集合的 each 方法遍历 map 集合 二.代码示例 一.使用 map 集合的 each 方法遍历 map 集合 遍历 map 集合 , 可以调用 map 集合的 eac ...

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

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

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

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

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

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

最新文章

  1. 图灵十月书讯 ——小长假过后的程序员学习指南
  2. android RSA加密
  3. php 获取当月的阴历值,PHP计算节日、节气、农阳历互换的代码
  4. shiro 同时实现url和按钮的拦截_shiro笔记 【四】
  5. iPhone 13临近发布,富士康需要在9月底前再招聘20万名工人
  6. 不支持模块化规范的插件可以使用import 导入的原因
  7. 打造专业人才发展链条:基于任职资格的专业人才发展与认证体系
  8. case结构条件语句
  9. 轻松解决电脑死机故障攻略_软件
  10. 半车模型悬架系统的simulink仿真
  11. python pytz_python – 找不到符合要求pytz的版本
  12. vue构建项目对接口的调用封装
  13. Netcdf4.4的安装过程(附netcdf4.1.3的安装过程)
  14. android投屏!Android开发还会吃香吗?挥泪整理面经
  15. 交通运输大数据发展特点、政策、应用及趋势 | 交通运输部科学研究院黄莉莉
  16. 怎么判断机械表上满弦_腕表冷知识,知道两个以上算我输!
  17. ipod video 乔布斯的三个故事
  18. 基于STM32F103移植华为LiteOS_任务挂起与恢复_面向对象编程思想之按键状态机
  19. 美通社日历 | 媒体关注、会展信息、企业财报发布,节假日备忘(7月27日—8月1日)...
  20. Android MTK 6750 系统语言与输入法

热门文章

  1. HDU2552 三足鼎立 【数学推理】
  2. Apache Ignite(五):Ignite的集群部署
  3. jenkins+svn搭建
  4. (读) 周鸿祎重新思考360(有感)
  5. Linux课程---7、shell技巧(获取帮助命令)
  6. redux模块化demo
  7. mysql创建表和数据库
  8. jQuery 分类导航菜单条点击变色
  9. 企业级的开发组件02 - DevExpress DXperience Universal 2011.2.5 Final
  10. 一步一步学List Control控件的用法(第二步)----创建第一行