程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Groovy >> Groovy Tip 2:each方法和break

Groovy Tip 2:each方法和break

編輯:Groovy

在Groovy這樣的動態語言中,閉包是其中的一個重要武器。而這些語言的開發者自然不會 放棄使用這些武器,我們可以看到在Groovy語言的集合類中,廣泛的使用了閉包。其中, each方法就是這樣一個使用閉包的方法。

我們知道,在Java中,我們使用下面的語句對集合類對象進行遍歷:

for(int i=0;i<list.size();i++)
  {
   System.out.println(list.get(i))
  }

而在Groovy語言中,我們使用each方法對集合類對象進行遍歷:

list.each{
    it ->
     println it
}

已經比起傳統的for循環語句來說簡單得多,但仍然可以更簡單:

list.each{
     println it
}

這是因為在默認情況下,each方法的輸入參數為it。

如果我們想通過each方法獲取集合類對象中的元素位置時,應該這樣使用:

list.eachWithIndex{
    i,it ->
     println"port: $i value: $it"
}

下面,我們定義一個List對象:

def list = [1,5,6,2,6,7]

現在,我想要判斷上面的集合對象中是否大於5的元素:

def have = false
  list.each{
    if(it>5)
    {
      have = true
      break;
    }
  }
println have

結果卻發現該break語言編譯不過去。怎麼辦?

def have = false
  for(it in list){
    if(it>5)
    {
      have = true
      break;
    }
  }
println have

不錯,有時侯這些舊的語法還有是用途的。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved