java作为一门强大的系统编程语言,已经在世界各地广泛地应用.groovy是增强java平台的唯一脚本语言,它的语法更
加简洁,能快速开发.
List:
定义list:def list = []
list = [1,2,3,4,5]
list操作:
def list = [1,2,3,4,5]
list[1] //Result: 2
list[-2] //Result: 4
list[1..3] //Result: [2, 3, 4]
list[1..<3] //Result: [2, 3]
list + [6,7] //Result: [1, 2, 3, 4, 5, 6, 7]
list - [4,5,6] //Result: [1, 2, 3]
list << 6 //Result: [1, 2, 3, 4, 5, 6]
list << [6,7] //Result: [1, 2, 3, 4, 5, 6, [6, 7]]
list方法:
[2,5].add(7) //Result: true; list = [2, 5, 7]
[2,5].add(1,9) //list = [2, 7, 5]
[2,5].add([7,9]) //Result: [2, 5, [7, 9]]
[2, 5, [7, 9]].flatten() //Result: [2, 5, 7, 9];克隆并解开下层list
[2,5].get(1) //Result: 5
[2,5].size() //Result: 2
[2,5].isEmpty() //Result: false
[2,5].getAt(1) //Result: 5
[2,5,7].getAt(1..2) //Result: [5, 7]
[2,5,7].getAt(-1) //Result: 7;get()不支持负数参数,getAt()支持
[2,5,7].getAt([1,2]) //Result: [5, 7]
[2,5,7].intersect([5,9,2]) //Result: [5, 2];交集
[2,5,7].pop() //Result: 7
[2,5,7].plus([3,6]) //Result: [2, 5, 7, 3, 6]
[2,5,7,2].minus(2) //Result: [5, 7]
[2,5,7].remove(1) //Result: 5; list = [2, 7]
[2,7,5].reverse() //Result: [5, 7, 2]
[2,7,5].sort() //Result: [2, 5, 7]
Map:
定义Map:def map = [:]
map = ['name':'Bruce', 'age':27]
键被解释成字符串:
def x = 3
def y = 5
def map = [x:y, y:x] //Result: ["x":5, "y":3]
如果要把值作为键,像下面这样:
def city = 'shanghai'
map."${city}" = 'china'
map.shanghai //Result: "china"
map操作:
def map = [3:56, 'name':'Bruce']
def a = 'name'
map.name //Result: "Bruce"
map['name'] //Result: "Bruce"
map[a] //Result: "Bruce"
map[3] //Result: 56
以下访问是错误的,会抛出异常
map[name]
map.3
map方法:
def map = ['name':'Bruce', 'age':27]
map.containsKey('name') //Result: true
map.get('name') //Result: "Bruce"
map.get('weight', '60kg') //Result: "60kg";会把key:value加进去
map.getAt('age') //Result: 27
map.keySet() //Result: [name, age, weight]
map.put('height', '175') //Result: ["name":"Bruce", "age":27, "weight":"60kg", "height":"175"]
map.values().asList() //Result: ["Bruce", 27, "60kg", "175"]
map.size() //Result: 4
下列方法可以应用于范围、List和Map(inject和reverseEach方法只适合List和范围)
each void each(Closure clos)迭代集合中每个元素。
find List find(Closure clos)返回集合中第一个符合条件的元素。
findAll List findAll(Closure clos)返回集合中所有符合条件的元素。
collect List collect(Closure clos)返回计算后的列表。
collect List collect(Collection col, Closure clos)返回计算后的列表,同时把返回值保存到col集合里。
any boolean any(Closure clos)集合中有一个符合条件即返回true,否则返回false。
every boolean every(Closure clos)集合中所有都符合条件即返回true,否则返回false。
findIndexOf int findIndexOf(Closure clos)返回第一个符合条件元素在集合中的索引值(从0开始计算)。
findLastIndexOf int findLastIndexOf(Closure clos)返回最后一个符合条件元素在集合中的索引值(从0开始计算)。
inject Object inject(Object value, Closure clos)返回调用列表和参数的计算值。
[1,2,3,4].inject(5) {x,y->
x + y
}
//Result: 15
reverseEach void reverseEach(Closure clos)反响迭代集合中每个元素。
[1,2,3,4].reverseEach {x->
print x + '-'
}
//4-3-2-1-
sort List sort(Closure clos)按照闭包的返回条件排序。
分享到:
相关推荐
SpecialMap.groovy
Vetor ArrayList HashMap Hashtable的用法实例及多种遍历方法
Groovy 调用 Java 类groovy 调用 Java class 十分方便,只需要在类前导入该 Java 类,在 Groovy 代码中就可以无缝使用该
Groovy和Grails配置方法 教你从0入手,一步一步深入安装和测试,包含环境和语言的下载地址
赠送jar包:groovy-3.0.9.jar; 赠送原API文档:groovy-3.0.9-javadoc.jar; 赠送源代码:groovy-3.0.9-sources.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
什么是 Groovy? Groovy 是 JVM 的一个替代语言 — 替代 是指可以用 Groovy 在 Java 平台上进行 Java ...Groovy 和 Java 语言的主要区别是:完成同样的任务所需的 Groovy 代码比 Java 代码更少。(有时候会少很多!)
def map = [a:1,b:2,c:3]assert map instanceof HashMapassert map.size() == 3assert
apache-groovy-3.0.8.zip apache官网的groovy3.0.8版本,希望大家多多下载,apache-groovy-3.0.8.zip apache官网的groovy3.0.8版本,希望大家多多下载,apache-groovy-3.0.8.zip apache官网的groovy3.0.8版本,希望...
groovy入门经典,groovyeclipse 插件
Making Java Groovy is a practical handbook for developers who want to blend Groovy into their day to day work with Java It starts by introducing the key differences between Java and Groovy and how you...
Groovy
脚本解析工具,可使用Groovy或Xquery解析JSON报文或XML报文
groovy
Java调用Groovy,实时动态加载数据库groovy脚本,java读取mongoDB的groovy脚本,加载实时运行,热部署
Groovy Script 入门 Groovy 脚本入门
Groovy轻松入门—搭建Groovy开发环境 Groovy轻松入门—搭建Groovy开发环境
了解 Groovy 对 Java 语法的简化变形,学习 Groovy 的核心功能,例如本地集合、内置正则表达式和闭包。编写第一个 Groovy 类,然后学习如何使用 JUnit 轻松地进行测试。借助功能完善的 Groovy 开发环境和使用技能,...
groovy-2.3.6-installer windows安装版本
groovy的帮助文档 !!!!!
groovy eclipse plugin2groovy eclipse plugin2groovy eclipse plugin2groovy eclipse plugin2groovy eclipse plugin2groovy eclipse plugin2groovy eclipse plugin2