Groovy 中如何定义集合

Groovy 中如何定义集合

在 Groovy 中定义集合非常方便,它提供了简洁的语法糖来创建列表(List)、映射(Map)和集合(Set)。这些语法不仅简洁,而且功能强大。

📋 列表 (List)

列表是一个有序 的元素集合,允许包含重复元素。在 Groovy 中,使用方括号 [] 来定义,默认创建的是 ArrayList

groovy 复制代码
// 定义一个空列表
def emptyList = []

// 定义一个包含元素的列表
def numbers = [1, 2, 3, 4, 5]
def fruits = ['Apple', 'Banana', 'Cherry']

// 创建一个 LinkedList
def linkedList = [1, 2, 3] as LinkedList

🗺️ 映射 (Map)

映射是键值对(Key-Value)的集合。在 Groovy 中,同样使用方括号 [:] 来定义。

groovy 复制代码
// 定义一个空映射
def emptyMap = [:]

// 定义一个包含键值对的映射
def person = [name: 'Tom', age: 18, city: 'Beijing']

// 访问映射中的值
println person['name'] // 输出: Tom
println person.name    // 输出: Tom (Groovy 的便捷语法)

🧩 集合 (Set)

集合是一个无序不包含重复元素 的集合。Groovy 没有为 Set 提供独立的字面量语法,通常是通过将列表转换为 Set 类型来创建。

groovy 复制代码
// 通过转换列表来创建一个 Set
def uniqueNumbers = [1, 2, 2, 3, 4, 5] as Set
println uniqueNumbers // 输出: [1, 2, 3, 4, 5],重复的 2 被自动移除

// 也可以使用 Java 的构造函数
def fruitSet = new HashSet<String>()
fruitSet.add('apple')
fruitSet.add('banana')

✨ 范围 (Range)

范围是 Groovy 中一个非常独特的集合类型,用于表示一个值的序列。

groovy 复制代码
// 定义一个包含两端值的范围 (1 到 10)
def range1 = 1..10

// 定义一个不包含末端值的范围 (1 到 9)
def range2 = 1..<10

// 范围也可以用在 switch 语句中
def getGrade(score) {
    switch (score) {
        case 90..100: return 'A'
        case 80..<90: return 'B'
        default:      return 'C'
    }
}
相关推荐
YCOSA202510 小时前
系统工具使用检测.exe (仅供娱乐)
python·microsoft
2601_9622953310 小时前
如何python实现网页的自动化
python·selenium·beautifulsoup·requests·网页自动化
ofoxcoding10 小时前
GPT Image 2.5 API 实战:Python 调用实现图片生成与编辑
人工智能·python·gpt·ai
liangshanbo121510 小时前
手写 Function.prototype.call 与 Function.prototype.apply 面试题满分答案
开发语言·javascript·原型模式
Zenova EdgeOS10 小时前
C++ 工业边缘 libcurl HTTP 客户端实战
开发语言·c++·网络协议·边缘计算
Java小白笔记11 小时前
Java 单元测试怎么写:JUnit 5、Mockito 与 Spring Boot 方法级实战
java·junit·单元测试
Jackson_GJH11 小时前
Qt 右键自定义菜单的实现
开发语言·c++·qt
张小姐的猫11 小时前
【AI大模型接入SDK】 —— Gemini接入封装
android·数据结构·数据库·c++·人工智能·python
Elastic 中国社区官方博客11 小时前
Elasticsearch Python DSL 客户端开发
大数据·数据库·python·elasticsearch·搜索引擎·全文检索
CoderYanger11 小时前
前端基础——JavaScript(WebAPI)(下篇)
java·开发语言·前端·javascript·程序人生·面试·职场和发展