Groovy之使用小結(jié)

一酱固、列表操作

1鞋真、列表的定義

列表list是object的有序集合,list中的元素的數(shù)據(jù)類型可以不一樣

def list = [1,2,3,4]    //groovy
def list =new ArrayList()   //java

2硬耍、數(shù)組的定義方式

數(shù)組是一個同一類型數(shù)據(jù)的有限集合

def array = [1,2,3] as int[]   //groovy
int[] array1 = [1,2,3,4]   //java

3、列表的增刪改查(數(shù)組與列表操作方法相同)

3.1 List的添加操作

①add方法

def list = [1]
list.add(2)  //[1,2]

②leftshift方法(等價于使用<< 边酒,在列表尾部增加元素)

def list = [1]
list.leftshift(3)    //[1,3]

③使用<<運算添加元素

def list = [1]
list << 4    //[1,4]

④使用+運算添加元素,產(chǎn)生一個新的列表

def list = [1]
def list_new = list + 8   

3.2 List的刪除操作

①remove经柴,根據(jù)索引刪除指定元素

def LIST = [1,2,-3,4,-5]
LIST.remove(2)   //[1,2,4,-5]

②removeAll,借助閉包移除符合條件的元素

LIST.removeAll{return  it % 2 == 0}

3.3 List的排序操作

①sort墩朦,默認升序

def list = [1,2,-3,4,-5]
list.sort()   //[-5,-3,1,2,4]
//等價于
def newlist = list.sort {a,b -> return a.compareTo(b)}

②降序

def list = [1,2,-3,4,-5]
def newlist = list.sort {a,b -> return b.compareTo(a)}

3.4 List的查找操作

①find方法(find找出的是第一個符合條件的元素)

def findList = [1,2,-3,4,-5]
int result = findList.find{return  it % 2 == 0}

②findAll(返回所有結(jié)果坯认,保存為ArrayList)

def findList = [1,2,-3,4,-5]
ArrayList result = findList.findAll{return  it % 2 == 0}

③最大值、最小值

def findList = [1,2,-3,4,-5]
def min = findList.min()
def max = findList.max()

3.5 List的格式轉(zhuǎn)換

①字符串轉(zhuǎn)列表(不包含[{}])

def str = " [1,2,-3,4,-5] "
def  str2list = Eval.me(str)   //若數(shù)據(jù)類型改變氓涣,Eval容易失敗牛哺,推薦使用JsonSlurper

//josn反序列化,groovy提供了JsonSlurper
import groovy.json.JsonSlurper
def jsonslurper = new JsonSlurper()
def str2list = jsonslurper.parseText(str)

//tokenize
assert "[a,b,c]".tokenize(',[]') == [a,b,c]

②列表轉(zhuǎn)字符串

def findList = [1,2,-3,4,-5]
String list2str = findList.toString()
//json序列化劳吠,groovy提供了JsonOutput
def json = JsonOutput.toJson(findList)

二引润、范圍

1、range的定義方式

def range = 1..10   //表示1~10

2痒玩、groovy中的常用方法

①取值

range[0]

②contains方法

range.contains(2)   //返回布爾類型

③from方法取范圍上邊界

range.from

④to方法取范圍上邊界

range.to

3淳附、遍歷

range.each{
    println it
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蠢古,隨后出現(xiàn)的幾起案子奴曙,更是在濱河造成了極大的恐慌,老刑警劉巖草讶,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件洽糟,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機坤溃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進店門拍霜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人薪介,你說我怎么就攤上這事沉御。” “怎么了昭灵?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長伐谈。 經(jīng)常有香客問我烂完,道長,這世上最難降的妖魔是什么诵棵? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任抠蚣,我火速辦了婚禮,結(jié)果婚禮上履澳,老公的妹妹穿的比我還像新娘嘶窄。我一直安慰自己,他們只是感情好距贷,可當我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布柄冲。 她就那樣靜靜地躺著,像睡著了一般忠蝗。 火紅的嫁衣襯著肌膚如雪现横。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天阁最,我揣著相機與錄音戒祠,去河邊找鬼。 笑死速种,一個胖子當著我的面吹牛姜盈,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播配阵,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼馏颂,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了闸餐?” 一聲冷哼從身側(cè)響起饱亮,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎舍沙,沒想到半個月后近上,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡拂铡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年壹无,在試婚紗的時候發(fā)現(xiàn)自己被綠了葱绒。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡斗锭,死狀恐怖地淀,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情岖是,我是刑警寧澤帮毁,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站豺撑,受9級特大地震影響烈疚,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜聪轿,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一爷肝、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧陆错,春花似錦灯抛、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至绳慎,卻和暖如春猪半,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背偷线。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工磨确, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人声邦。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓乏奥,卻偏偏與公主長得像,于是被迫代替她去往敵國和親亥曹。 傳聞我的和親對象是個殘疾皇子邓了,可洞房花燭夜當晚...
    茶點故事閱讀 42,828評論 2 345

推薦閱讀更多精彩內(nèi)容