Groovy 如何给集合中添加元素

张开发
2026/4/14 21:30:20 15 分钟阅读

分享文章

Groovy 如何给集合中添加元素
在 Groovy 中给集合主要是 List添加元素非常灵活既有类似 Java 的标准方法也有 Groovy 独有的“语法糖”。这里有一个非常重要的区别你需要先知道Groovy 中有两种添加方式一种是修改原集合原地添加另一种是创建一个新集合不可变。以下是具体的几种写法1. 使用操作符最常用、最推荐这是 Groovy 的标志性写法叫做“左移操作符”在集合中代表“追加”。它直接修改原集合性能最好且支持链式调用。deflist[1,2,3]// 添加单个元素list4println list// [1, 2, 3, 4]// 链式添加一口气加多个list56println list// [1, 2, 3, 4, 5, 6]// 注意如果用 添加另一个列表它会把那个列表当作“一个整体元素”加进去list[7,8]println list// [1, 2, 3, 4, 5, 6, [7, 8]] - 这是一个嵌套列表2. 使用操作符智能合并看起来和很像但行为略有不同。它通常用于批量添加。对于 List它底层调用的是addAll()。它会将右边的元素“拆开”合并进左边如果是集合的话。deflist[1,2,3]// 添加单个元素list4// 添加另一个集合会将元素拆开合并而不是嵌套list[5,6]println list// [1, 2, 3, 4, 5, 6]3. 使用操作符生成新集合⚠️ 注意使用号不会修改原来的列表而是创建一个包含新元素的新列表。如果你不把它赋值给一个变量原来的列表不会变。适用场景函数式编程或者不想改变原始数据时。deflist[1,2,3]// 创建一个新列表原 list 不变defnewListlist4[5,6]println newList// [1, 2, 3, 4, 5, 6]println list// [1, 2, 3] - 原列表没变4. 使用 Java 标准方法作为 Java 开发者你最熟悉的add()和addAll()依然完全可用。deflist[1,2,3]// 添加单个元素list.add(4)// 添加集合list.addAll([5,6])// 在指定位置插入元素 (索引 1 之前插入 9)list.add(1,9)println list// [1, 9, 2, 3, 4, 5, 6]5. 高级技巧展开操作符*.如果你想把一个列表“拍平”了加到另一个列表里类似于 Python 的*args可以使用展开操作符。defparts[2,3]// 将 parts 里的元素拆开放入新列表deflist[1,*parts,4]println list// [1, 2, 3, 4] 总结对比方式代码示例是否修改原集合特点list 1✅ 是最推荐速度快支持链式list [1, 2]✅ 是适合批量合并自动解包list 1❌ 否返回新集合原集合不变add()list.add(1)✅ 是标准 Java 写法可指定索引建议日常开发直接用追加单个元素用或addAll合并集合。

更多文章