您的位置 首页 java

优化改进:传统 Java-for 循环中复杂迭代的函数式替代方案

注:此为 Java 新玩法第三篇

尽管 for 循环包含许多可变部分,但许多开发人员仍非常熟悉它,并会不假思索地使用它。从 Java 8 开始,我们有多个强大的新方法可帮助简化复杂迭代。在本文中,您将了解如何使用 IntStream 方法range、iterate 和 limit 来迭代范围和跳过范围中的值。您还将了解新的 takeWhile 和 dropWhile 方法(即将在 Java 9 中引入)。

下面来学习下3个消除JavaFor循环复杂迭代中的麻烦的新方法。

1.for 循环的麻烦

在 Java 语言的第 1 个版本中就开始引入了传统的 for 循环,它的更简单的变体 ForEach 是在 Java 5 中引入的。大部分开发人员更喜欢使用ForEach 执行日常迭代,但对于迭代一个范围或跳过范围中的值等操作,他们仍会使用 for。

for 循环非常强大,但它包含太多可变部分。甚至在打印 get/set(取值/赋值) 提示的最简单任务中,也可以看出这一点:

清单 1. 完成一个简单任务的复杂代码

7.结束语

尽管传统 for 循环非常强大,但它有些过于复杂。Java 8 和 Java 9 中的新方法可帮助简化迭代,甚至是简化复杂的迭代。方法 range、iterate 和 limit 的可变部分较少,这有助于提高代码效率。这些方法还满足了 Java 的一个长期以来的要求,那就是 局部变量 必须声明为 final,然后才能从内部类访问它。将一个可变索引变量更换为实际的 final 参数只有很小的语义差别,但它减少了大量垃圾变量。最终您会得到更简单、更优雅的代码。

文章来源:智云一二三科技

文章标题:优化改进:传统 Java-for 循环中复杂迭代的函数式替代方案

文章地址:https://www.zhihuclub.com/184495.shtml

关于作者: 智云科技

热门文章

网站地图