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

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

文章目录

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

二、代码示例





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


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


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


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


image.png



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

image.png

目录
相关文章
|
10月前
|
存储 JavaScript 前端开发
for...of循环在遍历Set和Map时的注意事项有哪些?
for...of循环在遍历Set和Map时的注意事项有哪些?
698 156
|
10月前
|
安全 Java 数据库连接
让我们讲解一下 Map 集合遍历的方式
我是小假 期待与你的下一次相遇 ~
361 43
|
11月前
|
存储 安全 Go
Map的遍历与判断键是否存在-《Go语言实战指南》
本文介绍了 Go 语言中对 `map` 的常见操作,包括遍历所有项和判断键是否存在。通过 `for range` 可以遍历 `map` 的键值对、仅键或仅值(需忽略键)。注意,`map` 遍历顺序是随机的。判断键是否存在时,使用双赋值语法 `value, ok := map[key]`,其中 `ok` 表示键是否存在。直接访问不存在的键会返回类型的零值,可能导致逻辑错误。掌握这些机制可更安全高效地处理键值对数据。
|
JavaScript 前端开发 API
JavaScript中通过array.map()实现数据转换、创建派生数组、异步数据流处理、复杂API请求、DOM操作、搜索和过滤等,array.map()的使用详解(附实际应用代码)
array.map()可以用来数据转换、创建派生数组、应用函数、链式调用、异步数据流处理、复杂API请求梳理、提供DOM操作、用来搜索和过滤等,比for好用太多了,主要是写法简单,并且非常直观,并且能提升代码的可读性,也就提升了Long Term代码的可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
go语言for遍历映射(map)
go语言for遍历映射(map)
534 12
|
存储 前端开发 API
ES6的Set和Map你都知道吗?一文了解集合和字典在前端中的应用
该文章详细介绍了ES6中Set和Map数据结构的特性和使用方法,并探讨了它们在前端开发中的具体应用,包括如何利用这些数据结构来解决常见的编程问题。
ES6的Set和Map你都知道吗?一文了解集合和字典在前端中的应用
|
存储 安全 Java
java集合框架复习----(4)Map、List、set
这篇文章是Java集合框架的复习总结,重点介绍了Map集合的特点和HashMap的使用,以及Collections工具类的使用示例,同时回顾了List、Set和Map集合的概念和特点,以及Collection工具类的作用。
java集合框架复习----(4)Map、List、set
|
Go 定位技术 索引
Go 语言Map(集合) | 19
Go 语言Map(集合) | 19
【Java集合类面试二十二】、Map和Set有什么区别?
该CSDN博客文章讨论了Map和Set的区别,但提供的内容摘要并未直接解释这两种集合类型的差异。通常,Map是一种键值对集合,提供通过键快速检索值的能力,而Set是一个不允许重复元素的集合。