Java 8中增强For循环与forEach()方法学习

您所在的位置:网站首页 set的foreach方法 Java 8中增强For循环与forEach()方法学习

Java 8中增强For循环与forEach()方法学习

2023-10-11 19:31| 来源: 网络整理| 查看: 265

Java 8是Java的一个重大版本,有人认为,虽然这些新特性领Java开发人员十分期待,但同时也需要花不少精力去学习。在这一小节中,我们将介绍Java 8的大部分新特性。

Lambda表达式(也称为闭包)是Java 8中最大和最令人期待的语言改变。它允许我们将函数当成参数传递给某个方法,或者把代码本身当作数据处理:函数式开发者非常熟悉这些概念。

很多JVM平台上的语言(Groovy、Scala等)从诞生之日就支持Lambda表达式,但是Java开发者没有选择,只能使用匿名内部类代替Lambda表达式。

Lambda的设计耗费了很多时间和很大的社区力量,最终找到一种折中的实现方案,可以实现简洁而紧凑的语言结构。

假设您有以下列表:

List list = Arrays.asList("a", "b", "c", "d", "e", "f");

如果你想通过使用集合中的每个元素来做某事,有两种方法:

1)

list.forEach(s -> System.out.println(s));

2)

for(String s: list){

System.out.println(s);

}

以上两种方式都按顺序打印元素:

a

b

c

d

e

f

在这种特殊情况下,使用lambda表达式并不比使用增强型for循环更好。

使用forEach()方法的主要优点是在并行流上调用它时,在这种情况下,我们不需要编写代码来并行执行。

以下代码将并行执行:

list.parallelStream().forEach(s -> System.out.println(s));

输出可能是:

d

f

a

b

c

e

因此,只要并行执行可能会提高程序的性能,就应该将forEach()方法视为一个不错的选择。您可以随时为您的程序进行A / B测试,看看哪种方式表现更好。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3