前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Groovy】map 集合 ( map 集合遍历 | 使用 map 集合的 each 方法遍历 map 集合 | 代码示例 )

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

作者头像
韩曙亮
发布2023-03-30 10:13:57
10.9K0
发布2023-03-30 10:13:57
举报
文章被收录于专栏:韩曙亮的移动开发专栏

文章目录

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


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

list 集合中 , 调用 each 方法 , 传入的闭包中有

1

个参数 ; 参考 【Groovy】集合遍历 ( 使用 for 循环遍历集合 | 使用集合的 each 方法遍历集合 | 集合的 each 方法返回值分析 ) 集合 ;

map 集合中 , 调用 each 方法 , 传入的闭包有

2

个参数 ;

2

个参数分别是 Key 和 Value , 这两个参数没有指定类型 , 会根据当前遍历的 map 集合进行自动类型适配 ;

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

代码语言:javascript
复制
    /**
     * 允许使用闭包迭代映射。
     * 如果闭包接受一个参数,那么它将被传递给映射。
     * 否则,如果闭包采用两个参数,则将向其传递键和值。
     * 
     * <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;
    }

二、代码示例


代码示例 :

代码语言:javascript
复制
class Test {
    static void main(args) {

        // 创建键值对
        // 键 Key 可以不使用引号 , 可以使用单引号 '' , 也可以使用双引号 ""
        def map = [J:"Java", "K":"Kotlin", 'G':"Groovy"]

        // 遍历 map 集合
        map.each { key, value ->
            println "${key} = ${value}"
        }
    }
}

执行结果 :

代码语言:javascript
复制
J = Java
K = Kotlin
G = Groovy
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-12-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、使用 map 集合的 each 方法遍历 map 集合
  • 二、代码示例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档