grovvy数据结构

核心数据结构: Groovy 兼容 Java 集合,且提供简化的字面量语法
1. 列表(List)
    基于 java.util.ArrayList,支持动态扩容,语法简化:
    def list = [1, 2, 3, "Groovy"] // 字面量声明(无需 new ArrayList)
    list.add(4) // Java 方法兼容
    list << 5 // Groovy 重载运算符(追加元素)
    println list[0] // 索引访问(同 Java)
    println list[-1] // 反向索引(最后一个元素,Groovy 独有)
    println list[1..3] // 范围切片([2,3,"Groovy"])

    // 常用方法
    list.each { println it } // 遍历(it 是默认迭代变量)
    def newList = list.collect { it * 2 } // 映射转换([2,4,6,"GroovyGroovy",10,10]

2. 映射(Map)
    基于 java.util.LinkedHashMap,键默认是字符串(无需引号):
    def map = [name: "Groovy", version: 4.0] // 键name/version自动转为字符串
    map.author = "Apache" // 动态添加键值对
    println map["name"] // 索引访问
    println map.version // 属性访问(Groovy 独有)

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

3. 范围(Range)
    特殊的 List,语法 start..end(闭区间)或 start..<end(左闭右开)
    def range = 1..5 // [1,2,3,4,5]
    def range2 = 1..<5 // [1,2,3,4]
    println range.contains(3) // true
    range.each { println it } // 遍历1-5

posted on 2025-12-15 22:09  枫飘过的天1  阅读(0)  评论(0)    收藏  举报