java lambda循环_使用Java 8 Lambda简化嵌套循环
java 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 lambda循环
java lambda循环_使用Java 8 Lambda简化嵌套循环相关推荐
- java lambda循环_在Java 8 Lambda中创建自己的循环结构
java lambda循环 Java没有简单的结构可以重复N次. 当然,我们可以创建一个for循环,但是很多时候我们甚至都不关心在循环中创建的变量. 我们只想重复一些代码N次,仅此而已. 使用Java ...
- java游戏循环_利用Java循环语句实现攻击防御塔小游戏
/* * 时间:2018-3-21 * 目的:practice * 内容:利用Java循环语句实现攻击防御塔小游戏 * 使用Java while语句实现一个英雄攻击防御塔的小程序,防御塔血量总计100 ...
- java lambda 反射_反射调用与Lambda表达式调用
想调用一个方法很容易,直接代码调用就行,这人人都会.其次呢,还可以使用反射.不过通过反射调用的性能会远远低于直接调用--至少从绝对时间上来看的确是这样.虽然这是个众所周知的现象,我们还是来写个程序来验 ...
- java lambda使用_使用Java 8和Lambda简化ReadWriteLock
java lambda使用 考虑到旧版Java代码,无论您在哪里看,带有lambda表达式的Java 8绝对可以提高质量和可读性. 今天,让我们看一下ReadWriteLock以及如何使它使用起来更简 ...
- java 自定义表达式_自定义 Java Lambda
用了这么久的 Java,也体验了 Java 8 的 lambda 带来的便捷,但是我一直都是直接用,而从未想过他是如何实现的.比如:为什么在小括号里面可以放一个函数作为参数,自己造一个lambda 应 ...
- java 复合方法_《Java 8 实战》Ch3: Lambda表达式(下):类型与限制、方法引用、复合...
李文轩 2019-04-23 3.5 类型的检查和判断:变量捕获限制 类型检查 Lambda的类型是从使用Lambda的上下文推断出来的. Lambda表达式需要的类型称为目标类型 . Lambda表 ...
- 用标号跳出当前多重嵌套循环是否继续执行循环_在Java中如何跳出当前的多重嵌套循环?...
在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,更多Java专业知识,广州疯狂java培训为你讲解; 1.在java中如何跳出当前的 ...
- java核心教程_核心Java教程
java核心教程 Welcome to Core Java Tutorial. I have written a lot on Core Java and Java EE frameworks. Th ...
- java运算符重载_为什么Java不支持运算符重载?
Java不支持运算符重载 = 小白也能学编程 Java之所以不支持运算符重载,并不是如下原因: 会使JVM变得复杂.性能下降:君不见C++内置运算符重载的能力?C++的性能在任何时代秒杀Java相信没 ...
最新文章
- Dubbo启动时检查
- 同一类的不同对象,在调用相同的成员函数时,入口地址是相同的
- 大数据时代下的迁移学习_继深度学习后,下一个热点技术是迁移学习
- Spring 3.1缓存和@CacheEvict
- 【设计模式】五、单例模式(独一无二的对象)
- java stream group_Java8 Stream之group
- JS-DOM-节点-获取元素-文档结构-元素的属性
- oracle出现12505错误的解决步骤
- 【CSS】css控制模块到顶层或底层
- 解决 Failed to connect to github.com port 443:connection timed out
- 增加限制模拟器2006-2-11
- 用matlab对微分方程组进行仿真,基于MATLAB的微分方程组的数值计算
- yolov3训练实现火焰检测(pytorch)
- ionic 中使用 slidebox 利用angular ng-repeat 渲染后不显示问题
- 审计工作存在的难点和问题_浅谈审计整改工作存在的困难及对策
- python调用金山词霸的api
- css background动态图片,CSS3 background-position定位背景图片动画效果
- 2.1 分布式文件系统HDFS-使用
- java解决 No enclosing instance of type XXX is accessible的问题
- SNIPER: Efficient Multi-Scale Training