使用Java 8 Lambda简化嵌套循环
生活随笔
收集整理的這篇文章主要介紹了
使用Java 8 Lambda简化嵌套循环
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
對于每個經常需要在Java 8(或更高版本)中使用多維數組的人來說,這只是一個快速技巧。
在這種情況下,您可能經常以類似于以下代碼的結尾:
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} }如果幸運的話,可以用for-each循環替換循環。 但是,循環內的計算通常需要索引。
在這種情況下,您可以提出一個簡單的實用程序方法,如下所示:
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);}} }我們現在可以像這樣循環遍歷數組索引:
float[][]?values?=?... loop(values,?(i,?k)?->?{float?value?=?values[i][k];//?do?something?with?i,?k?and?value });這樣,您可以使循環代碼脫離主要邏輯。
當然,您應該更改所示的loop()方法,使其適合您的個人需求。
翻譯自: https://www.javacodegeeks.com/2016/04/simplifying-nested-loops-java-8-lambdas.html
總結
以上是生活随笔為你收集整理的使用Java 8 Lambda简化嵌套循环的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win10 2004更新错误0xc190
- 下一篇: 与Java EE和Spring的集成架构