java lambda循环_使用Java 8 Lambda简化嵌套循环
生活随笔
收集整理的這篇文章主要介紹了
java lambda循环_使用Java 8 Lambda简化嵌套循环
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
java lambda循環(huán)
對(duì)于每個(gè)經(jīng)常需要在Java 8(或更高版本)中使用多維數(shù)組的人來(lái)說(shuō),這只是一個(gè)快速技巧。
在這種情況下,您可能經(jīng)常會(huì)以類似于以下代碼的結(jié)尾:
float[][]?values?=?... for?(int?i?=?0;?i?<?values.length;?i++)?{for?(int?k?=?0;?k?<?values[i].length;?k++)?{float?value?=?values[i][k];//?do?something?with?i,?k?and?value} }如果幸運(yùn)的話,可以用for-each循環(huán)替換循環(huán)。 但是,循環(huán)內(nèi)的計(jì)算通常需要索引。
在這種情況下,您可以提出一個(gè)簡(jiǎn)單的實(shí)用程序方法,如下所示:
private?void?loop(float[][]?values,?BiConsumer<Integer,?Integer>?consumer)?{for?(int?i?=?0;?i?<?values.length;?i++)?{for?(int?k?=?0;?k?<?values[i].length;?k++)?{consumer.accept(i,?k);}} }現(xiàn)在,我們可以像這樣循環(huán)遍歷數(shù)組索引:
float[][]?values?=?... loop(values,?(i,?k)?->?{float?value?=?values[i][k];//?do?something?with?i,?k?and?value });這樣,您可以使循環(huán)代碼脫離主要邏輯。
當(dāng)然,您應(yīng)該更改所示的loop()方法,使其適合您的個(gè)人需求。
翻譯自: https://www.javacodegeeks.com/2016/04/simplifying-nested-loops-java-8-lambdas.html
java lambda循環(huán)
總結(jié)
以上是生活随笔為你收集整理的java lambda循环_使用Java 8 Lambda简化嵌套循环的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 安卓手机拷贝到苹果(安卓手机拷贝)
- 下一篇: java美元兑换,(Java实现) 美元