QQ登录

只需要一步,快速开始

APP扫码登录

只需要一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

查看: 1248|回复: 0

[JAVA/JSP] java lambda循环

[复制链接]

等级头衔

积分成就    金币 : 2857
   泡泡 : 1516
   精华 : 6
   在线时间 : 1313 小时
   最后登录 : 2025-1-18

丰功伟绩

优秀达人突出贡献荣誉管理论坛元老活跃会员

联系方式
发表于 2020-11-23 10:37:54 | 显示全部楼层 |阅读模式
       对于每个经常需要在Java 8(或更高版本)中使用多维数组的人来说,这只是一个快速技巧。在这种情况下,你可能经常会以类似于以下代码的结尾:
; v) W3 A4 S! N1 t
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循环替换循环。但是,循环内的计算通常需要索引。在这种情况下,你可以提出一个简单的实用程序方法,如下所示:& H: B- }  O$ V
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);
    }
  }
}
      现在,我们可以像这样循环遍历数组索引:
; d! V6 C. I3 U( Z0 F
float[][] values = ...
loop(values, (i, k) -> {
  float value = values[i][k];
  // do something with i, k and value
});
      这样,你可以使循环代码脱离主要逻辑。当然,你应该更改所示的loop()方法,使其适合你的个人需求。
- }& B- y* d) K9 `& ?7 H. ^+ I3 Y
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|paopaomj.COM ( 渝ICP备18007172号|渝公网安备50010502503914号 )

GMT+8, 2025-1-18 18:13

Powered by paopaomj X3.5 © 2016-2025 sitemap

快速回复 返回顶部 返回列表