使用列表方法:
删除list中为null和重复的元素
def myList = [1, 2, 2, 3, 3, null, 4, null] def lst = new HashSet(myList).toList() assert lst.size() == 5 assert lst.grep{it} == [1, 2, 3, 4] assert List.'package'.name == java.util
常用list方法
assert [1, [2, 3]].flatten() == [1, 2, 3] assert [1, 2, 3].intersect([4, 3, 1]) == [3, 1] assert [1, 2, 3].disjoint([4, 5, 6]) //Treating a list like stack def lst = [1, 2, 3] assert lst.pop() == 3 assert lst == [1, 2] assert [3, 1, 2].sort() == [1, 2, 3] assert [1, 2, 3].reverse == [3, 2, 1] def doubled = [1, 2, 3].collect{elem -> elem*2 } assert doubled == [2, 4, 6] def odd = [1, 2, 3].findAll{elem -> elem % 2 == 1 } assert odd == [1, 3] def lst = [3,1,4] lst.sort{a, b-> return a.compareTo(b) } lst.sort{a,b -> return -a.compareTo(b) }
相关推荐
Groovy的列表支持链式操作,如`list.each{println it}`,这会遍历列表并对每个元素执行指定的操作。映射可以通过键值对进行操作,如`map.each{k, v -> println "Key: $k, Value: $v"}`。 Groovy还引入了GString,这...
### Groovy速查手册知识点详解 #### 一、Groovy简介与特性 Groovy是一种为Java虚拟机(JVM)设计的动态语言。...通过上述介绍,我们了解了Groovy的一些基本特性和使用方法,这对于初学者来说是非常有用的指南。
Groovy的代码风格倾向于简洁和表达式丰富,例如在Groovy中可以直接使用true或false作为条件表达式,这是Groovy的动态类型特性之一。Groovy代码中的类声明和方法定义相比Java也更为简便。 5. Groovy的数据类型 ...
6. **方法调用的灵活性**:在Groovy中,可以使用点号`.`或下划线`_`来调用方法,甚至可以省略点号。例如: ```groovy def list = [1, 2, 3] list.each { println(it) } // 正常调用 list.each_ { println(it) } ...
Groovy中的列表(List)和映射(Map)使用非常直观。列表可以通过下标访问,映射则通过键值对操作: ```groovy List list = [1, 2, 3] Map map = [key1: 'value1', key2: 'value2'] println list[0] // 输出:...
- **命名参数**:调用方法时可以使用命名参数,这使得方法调用更为清晰。 - **闭包的传递**:闭包可以作为方法的参数传递,并且可以通过`call`方法调用。 #### 七、其他重要知识点 - **字符串处理**: Groovy提供了...
在学习Groovy的过程中,掌握闭包这一核心概念至关重要,尤其是在重构流程控制语句和方法时。本讲我们将深入探讨如何将传统的流程控制结构和方法转换为Groovy的闭包,以提高代码的可读性和可维护性。 首先,让我们...
### Groovy 快速入门指南知识点...Groovy 的强大之处在于它的简洁性和灵活性,这些特性使得 Groovy 成为一种非常易于学习和使用的编程语言。通过掌握这些基础知识,您可以迅速地使用 Groovy 开发出高效、可靠的软件。
总的来说,Groovy的学习涵盖了基础的数字和字符串操作,进阶的List、String、闭包、Map和Range的使用,以及函数的定义。通过这些知识点,你可以开始编写简单的Groovy脚本,并逐渐熟悉其动态语言的特性。对于Java...
3. 集合与闭包:熟悉Groovy的List、Map等集合操作,以及强大的闭包特性。 4. 文件I/O和网络编程:学习如何使用Groovy进行文件操作和网络通信。 5. 测试与调试:掌握Spock测试框架,进行单元测试和集成测试。 6. 深入...
- **定义**:闭包是Groovy中最强大的特性之一,它是一种可以访问其外部作用域变量的匿名函数。 - **使用场景**:闭包常用于数据处理、事件监听、配置文件编写等场景。 - **高级用法**:Groovy还支持闭包的递归...
- Map和List的简写:Groovy可以用`[key1: value1, key2: value2]`创建Map,用`[value1, value2, ...]`创建List。 3. **Groovy的集合操作**: - 集合的增强操作:如`each`、`collect`、`grep`等,提供了一系列便捷...
4. **闭包(Closures)**:Groovy中的闭包是其核心特性之一,类似于函数引用,可以作为参数传递,也可以作为返回值。闭包在处理集合操作时特别有用,如`each`和`collect`等。 5. **GDK (Groovy Development Kit)**...
- Groovy的类定义语法与Java非常相似,支持类方法(static)和实例方法。 - 类成员可以有public、protected、private访问修饰符,并且支持Java的修饰符如`synchronized`。 **差异:** - 默认情况下,Groovy中的类和...
3. **列表和映射**:Groovy中的数组通常用List表示,可以用`[]`创建,而Map则用`[key1: value1, key2: value2]`创建,非常直观。 4. **GString和字符串操作**:Groovy的GString可以包含表达式,如`${expression}`,...