集合
Groovy支持最常見的兩個java集合:java.util.Collection
和java.util.Map
Listjava.util.Collection
定義
//java定義
List<String> list = new ArrayList<String>();
//groovy新特性
List list = [] //一個空集合
List list = ["xxx","yyy","zzz"] //創(chuàng)建并對集合賦值
操作
list.add("xxx")
list << "yyy"
list[list.size()] = "zzz"
//跟數(shù)組相同的索引方式,下標從0開始
list[list.size()-1]
list[2]
//支持負數(shù)下標索引
list[-1] //索引其倒數(shù)第1個元素
list = list + 5 //在集合中添加元素5宛篇,相當于list.add()
list = list - "xxx" //移除從集合開始位置起的第一個xxx元素
list = list - list[0] //移除集合第一個元素
list = list - list[0..4] //移除集合前五個元素
迭代
...
//java方式迭代
...
//each迭代
list.each {
println "This is ${it}" //it表示但前迭代的值抒和,${it}是groovy取值的表達式
};
//for迭代
for(String item : list){
println "This is ${item}"
}
Mapjava.util.Map
描述
Map是“鍵-值”對的集合飒炎,在groovy中食侮,鍵不一定是String椭岩,可以是任何對象(實際上Groovy中的Map就是java.util.LinkedHashMap)豹障。
定義
//java定義方式
...
//groovy新特性
Map map = ['name':'john' , 'age':14 , 'sex':'boy'];
操作
map=map+['weight':25]
map.put('length',1.27)
map.father='Keller'
map['father'] //通過key作為下標索引
map.father //通過key作為成員名索引
在groovy里提供了快速簡潔的遍歷方式憔购,無須像java
中那樣使用for
循環(huán)或者iterator
迭代!
Map map = new HashMap();
map.put("a" , "A");
map.put("b" , "B");
map.Each{k,v->//k,v->可不寫
//k表示map中的每一個key;v表示map中這個key對應的value
System.out.print(k+"-"+v+";");//結(jié)果是:a-A;b-B;
}
最后編輯于 :2017.12.04 06:39:11
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者