Groovy筆記 三 之集合

2021-09-10 23:47:48 字數 2942 閱讀 5018

list的建立與元素獲取

class

listtest

//反向迭代 54321

list.reverseeach

println()

//如果關注迭代的索引和計數

list.eachwithindex

//閉包中的元素求和 15

def sum =

0 list.each

println sum

//[2, 4, 6, 8, 10]

def result =

//<< 操作符對映到left****f()方法

list.each

println result

//在集合中的每個元素上執行操作並返回乙個結果集合使用collect

//[3, 6, 9, 12, 15]

println list.collect

//find會對集合進行迭代,當閉包返回true則終止迭代(匹配第乙個),會將當前元素返回

//如果遍歷結束也找到,則返回null.以下輸出:4

println list.find

//以下輸出索引3

println list.findindexof

//findall 查詢所有返回的是物件[3, 4, 5]

println list.findall

}}

list的迭代、收集、查詢

def static

listiterator()

//反向迭代 54321

list.reverseeach

println()

//如果關注迭代的索引和計數

list.eachwithindex

//閉包中的元素求和 15

def sum =

0 list.each

println sum

//[2, 4, 6, 8, 10]

def result =

//<< 操作符對映到left****f()方法

list.each

println result

//在集合中的每個元素上執行操作並返回乙個結果集合使用collect

//[3, 6, 9, 12, 15]

println list.collect

//find會對集合進行迭代,當閉包返回true則終止迭代(匹配第乙個),會將當前元素返回

//如果遍歷結束也沒找到,則返回null.以下輸出:4

println list.find

//以下輸出索引3

println list.findindexof

//findall 查詢所有返回的是物件[3, 4, 5]

println list.findall

//30

println list.

collect()

.sum()

//inject對集合中的每個元素都呼叫閉包,0為初始值 。輸出:15

println list.

inject(0

)//連線集合中的每個元素,輸出:1,2,3,4,5

println list.

join

(","

)}

map

def static

mapbasic()

def static

mapcollect()

println

(wordcountmap)

def longwords = wordcountmap.count

//2 println "$"

//合併map

def map1 =

[p1:

100, p2:

200]

def map2 =

[p3:

300, p4:

400]

def map3 = map1 + map2

//[p1:100, p2:200, p3:300, p4:400]

println "$"

//取交集

def map4 =

[p1:

100, p2:

200, p3:

300, p4:

400, p5:

500]

def map5 =

[p4:

400, p5:

500, p6:

600, p7:

700]

def map6 = map4.

intersect

(map5)

//[p4:400, p5:500]

println "$"

}

def static

iterator()

println()

//迭代 輸出: aa : jannal ;2 : lisi ;3 : wangwu ;[aa1, 21, 31]

map.each

println()

//[aa1, 21, 31]

println map.collect

//找到即返回該map的key和value aa=jannal

println map.find

//找到所有匹配的 [2:lisi, 3:wangwu]

println map.findall

//不想得到元素,只是確定map中是否有任何元素滿足條件用any

// 輸出:true

//any會查詢至少乙個滿足給定條件

println map.any

//是否所有的元素都滿足條件 輸出:false

println map.every

}

Groovy集合型別

groovy中有3種集合型別,分別是列表list 對映map 區間range 1 列表 list的初始化,直接在 中直接寫入初始的資料即可 def list1 1,2,3 list支援的運算子和方法 def list2 list1 2 1,2,3,1,2,3 list2.unique 1,2,3 l...

Groovy 學習筆記 一

1.關於字串 簡單字串可以用單引號和雙引號 但如果使用 gstring,則必須使用雙引號 比如 foo,hello world 多行字串則可以使用 3 個雙引號 例如 def text hello there how are you today?如果對這個 text 進行輸出 會發現輸出是按原樣式輸...

Groovy閉包筆記

1.最後一行將會作為返回值 2.對於map型別,機引數列表中所有的map實參並組成map傳遞給第乙個形參。3.閉包可以設定預設值 4.it可以在有且僅有乙個未顯示宣告的引數時使用 5.閉包呼叫的標準寫法是 closurename.call 6.def定義的變數對 binding.variables....