Groovy中,多種循環方式

1.最常規的for循環

for (def i = 0; i < 5; i++) {  //這個i需要聲明println "遍歷輸出${i}"
}

2.while循環

def j = 0
while (j < 5) {println "遍歷輸出 ${j}"j++
}

3.for in 循環

def list = [0, 1, 2, 3, 4]
//這個l無需聲明
for (l in list) { println "遍歷輸出 ${l}"
}
//這個k無需聲明
for (k in 0..<5) {  //0..<5 表示一個范圍(Range)println "遍歷輸出 ${k}"
}

4.groovy中常規的each循環

list.each {println "遍歷輸出 ${it}"
}

在each中使用return,將達到continue的效果。

list.each {if (it > 2) {return}println "遍歷輸出 ${it}"
}//log
遍歷輸出 0
遍歷輸出 1
遍歷輸出 2

5.調用的是Java的Iterable類中的forEach方法

def list = [0, 1, 2, 3, 4]
list.forEach {println "遍歷輸出 ${it}"
}
(0..<5).forEach {println "遍歷輸出 ${it}"
}

6.返回滿足條件的第一個元素

閉包中的返回值要boolean類型

println "返回滿足條件的第一個元素:" + list.find {it > 2
}

在find中使用return true,將達到break的效果。其實也很好理解,find本身就是在找返回值為true的第一個元素,所以return true就相當于提前找到了

println "返回滿足條件的第一個元素:" + list.find {if (it > 1) {return true}it > 2
}//log
返回滿足條件的第一個元素:2

7.返回滿足條件的集合

閉包中的返回值要boolean類型

println "返回滿足條件的集合:" + list.findAll {it > 2
}

8.判斷并返回是否有元素滿足條件

閉包中的返回值要boolean類型

println "是否有元素滿足條件:" + list.any {it > 2
}

9.判斷并返回是否所有元素都滿足條件

閉包中的返回值要boolean類型

println "是否所有元素都滿足條件:" + list.every() {it > 2
}

10.對集合中的元素進行處理,并返回處理后的集合

println "所有元素進行處理,并返回處理后的集合:" + list.collect {it * 10
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/42498.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/42498.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/42498.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

uniapp跨域問題解決

找到menifest文件&#xff0c;在文件的最后添加如下代碼&#xff1a; // h5 解決跨域問題"h5":{"devServer": {"proxy": {"/adminapi": {"target": "https://www.demo.com", // 目標訪問網址"changeOrigin…

數據庫的存儲引擎,數據類型,約束條件,嚴格模式

【一】存儲引擎 1.什么是存儲引擎存儲引擎可以理解為處理數據的不同方式 2.查看存儲引擎show engines; 3.須知的引擎MyISAM5.5之前版本MySQL默認的存儲引擎特點:存取數據的速度快 但是功能很少 安全性較低速度快因為自帶索引InnoDB5.5之后版本MySQL默認的存儲引擎特點:有諸多功…

工程施工合同無效但竣工交付,應當參照合同關于工程價款的約定計算折價補償款

審判實踐中&#xff0c;對于建設工程施工合同無效但工程竣工并交付使用的&#xff0c;應以何種標準計算折價補償款的問題&#xff0c;認識不一致。【法官會議意見】&#xff1a;建設工程施工合同是承包人進行工程建設、交付工作成果即建設工程并由發包人支付價款的合同。建設工…

httpd目錄顯示亂碼問題

vim /etc/httpd/conf/httpd.conf 在<Directory “/var/www/html”>下添加&#xff1a; IndexOptions CharsetUTF-8重啟httpd: systemctl restart httpd.service還是不好看&#xff0c;調整下顯示寬度&#xff0c;還是這個位置&#xff1a; <Directory “/var/www/ht…

區塊鏈論文速讀A會-ISSTA 2023(2/2)如何檢測DeFi協議中的價格操縱漏洞

Conference&#xff1a;ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA) CCF level&#xff1a;CCF A Categories&#xff1a;Software Engineering/System Software/Programming Languages Year&#xff1a;2023 第1~5篇區塊鏈文章 請點擊此…

09視圖,觸發器,事務,存儲過程,函數,流程控制,索引,隔離機制,鎖機制,三大范式

【一】視圖 (1)視圖須知概念 1.什么是視圖&#xff1f; 視圖就是通過查詢得到一張虛擬表&#xff0c;然后保存下來&#xff0c;下次可以直接使用 2.為什么要用視圖&#xff1f; 如果要頻繁操作一張虛擬表(拼表組成)&#xff0c;就可以制作成視圖&#xff0c;后續直接操作 注意…

IDEA 創建springboot項目雜記-更新中

一、工具使用雜記 1、使用maven 創建新springboot項目時&#xff0c;因為https://start.spring.io/ 連接不上項目無法創建。直接把腳手架地址換為國內的 http://start.aliyun.com

田忌賽馬 貪心

本題是更難的那道,一場50 最低為o 第一行一個整數 &#x1d45b;n &#xff0c;表示他們各有幾匹馬&#xff08;兩人擁有的馬的數目相同&#xff09;。第二行 &#x1d45b;n 個整數&#xff0c;每個整數都代表田忌的某匹馬的速度值&#xff08;0≤0≤ 速度值 ≤100≤1…

Python】從文本字符串中提取數字、電話號碼、日期、網址的方法

關于從文本字符串中提取數字、電話號碼、日期和網址的方法&#xff1a; 提取數字&#xff1a; 在 Python 中&#xff0c;使用正則表達式 \d 來匹配數字。 \d 表示匹配一個數字字符&#xff08;0-9&#xff09;。如果要匹配連續的數字&#xff0c;可以使用 \d 。 import re def …

C++面向對象的常見面試題目(一)

1. 面向對象的三大特征 &#xff08;1&#xff09;封裝&#xff1a;隱藏對象的內部狀態&#xff0c;只暴露必要的接口。 #include <iostream> #include <string>// 定義一個簡單的類 Person class Person { private: // 私有成員&#xff0c;外部不可直接訪問std…

Mac OS ssh 連接提示 Permission denied (publickey)

這錯誤有點奇葩&#xff0c;MacBook的IDE(vscode和pycharm)遠程都連不上&#xff0c;terminal能連上&#xff0c;windows的pycharm能連上&#xff0c;見鬼了&#xff0c;所以肯定不是秘鑰的問題了&#xff0c;查了好久竟然發現是權限的問題。。 chmod 400 ~/.ssh/id_rsa http…

華為機試HJ37統計每個月兔子的總數

華為機試HJ37統計每個月兔子的總數 題目&#xff1a; 想法&#xff1a; 上述題目實際是一個斐波那契數列&#xff0c;利用斐波那契數列對問題進行求解 input_number int(input())def fib(n):if n < 2:return 1else:n_1 1n_2 1count 2while count < n:n_1, n_2 n_…

【Android】【多屏】多屏異顯異觸調試技巧總結

這里寫目錄標題 如何獲取多屏IDs獲取多屏的size/density如何啟動應用到指定DisplayId多屏截屏/錄屏screencapscreenrecord發送按鍵到指定DisplayId 如何獲取多屏IDs dumpsys display | grep mDisplayIdtrinket:/ # dumpsys display | grep mDisplayIdmDisplayId0mDisplayId2 t…

【AI資訊】可以媲美GPT-SoVITS的低顯存開源文本轉語音模型Fish Speech

Fish Speech是一款由fishaudio開發的全新文本轉語音工具&#xff0c;支持中英日三種語言&#xff0c;語音處理接近人類水平&#xff0c;使用Flash-Attn算法處理大規模數據&#xff0c;提供高效、準確、穩定的TTS體驗。 Fish Audio

區塊鏈技術的應用場景和優勢。

區塊鏈技術具有廣泛的應用場景和優勢。 區塊鏈技術的應用場景&#xff1a; 1. 金融服務&#xff1a;區塊鏈可用于支付、跨境匯款、借貸和結算等金融服務&#xff0c;提高交易效率、降低成本并增強安全性。 2. 物聯網&#xff08;IoT&#xff09;&#xff1a;區塊鏈可以用于物…

機器學習Day12:特征選擇與稀疏學習

1.子集搜索與評價 相關特征&#xff1a;對當前學習任務有用的特征 無關特征&#xff1a;對當前學習任務沒用的特征 特征選擇&#xff1a;從給定的特征集合中選擇出相關特征子集的過程 為什么要特征選擇&#xff1f; 1.任務中經常碰到維數災難 2.去除不相關的特征能降低學習的…

Git注釋規范

主打一個有用 代碼的提交規范參考如下&#xff1a; init:初始化項目feat:新功能&#xff08;feature&#xff09;fix:修補bugdocs:文檔&#xff08;documentation&#xff09;style:格式&#xff08;不影響代碼運行的變動&#xff09;refactor:重構&#xff08;即不是新增功能…

NodeJs獲取文件擴展名

path.extname 是 Node.js 路徑模塊 (path) 中的一個方法&#xff0c;用于獲取文件路徑的擴展名。擴展名是指文件名中最后一個 .&#xff08;點&#xff09;之后的部分&#xff0c;包括這個 .。 const path require(path);const filename example.txt; const ext path.extna…

計算機網絡之令牌環

1.令牌環工作原理 令牌環&#xff08;Token Ring&#xff09;是一種局域網&#xff08;LAN&#xff09;的通信協議&#xff0c;最初由IBM在1984年開發并標準化為IEEE 802.5標準。在令牌環網絡中&#xff0c;所有的計算機或工作站被連接成一個邏輯或物理的環形拓撲結構。網絡中…

排序(2)

我們在排序&#xff08;1&#xff09;中說到選擇排序的代碼&#xff1a; void SelectSort(int* a,int n) {int begin0,endn-1;int minibegin,maxbegin;for(int ibegin1;i<end;i){if(a[i]>a[max]){maxii;}if(a[i]<a[mini]){minii;}begin;--end;}Swap(&a[beign],&a…