欢迎访问宙启技术站
智能推送

Javalambda表达式的用法和示例函数

发布时间:2023-06-19 21:32:01

Java Lambda表达式是Java8中引入的一种新的语言特性,它可以将一个函数作为参数传递给另一个函数或方法,并非常适用于Java中的函数式编程。

Lambda表达式的语法格式如下:

(parameter1, parameter2...) -> { // 放代码的地方 }

其中,parameter1, parameter2等表示该表达式的参数列表,可以是任何类型,甚至可以不指定类型;箭头"->"后面的代码块则表示该表达式要执行的任务。

下面我们通过一些简单的示例来演示Java Lambda表达式的用法及其应用场景。

1. 使用Lambda表达式打印数组中的元素:

int[] arr = new int[]{1,2,3,4,5,6,7,8,9,10};

Arrays.stream(arr).forEach(x -> System.out.print(x + " "));

这里,我们使用了Java8新引入的Streams API中的forEach方法以及Lambda表达式来遍历数组中的元素并打印它们。

2. 使用Lambda表达式对列表进行过滤:

List<String> list = Arrays.asList("dog", "cat", "fish", "elephant", "goose");

List<String> filteredList = list.stream().filter(x -> x.length() > 3).collect(Collectors.toList());

在这个示例中,我们使用了Java8 Streams API中新引入的filter方法,以及Lambda表达式来对列表中的元素进行过滤。

3. 使用Lambda表达式对列表进行映射:

List<String> list = Arrays.asList("dog", "cat", "fish", "elephant", "goose");

List<String> mappedList = list.stream().map(x -> "I own a " + x).collect(Collectors.toList());

这个示例中,我们使用了Java8 Streams API中新引入的map方法以及Lambda表达式,把列表中的每一个元素映射成一个“我拥有一只(种类)”的字符串,并把它们转换成一个新列表。

4. 使用Lambda表达式计算列表中所有元素的和:

List<Integer> list = Arrays.asList(1,2,3,4,5,6,7,8,9,10);

int sum = list.stream().reduce(0, (x,y) -> x+y);

在这个示例中,我们使用了Java8 Streams API中新引入的reduce方法,并结合Lambda表达式来计算列表中所有元素的和。

总体来说,Lambda表达式是一种功能强大且易于使用的特性,可以帮助Java开发人员在实现函数式编程的时候变得更为简单和方便。在Java8中的Streams API中越来越多地使用Lambda表达式,可以有效地提高代码的可读性和可维护性,并提升开发效率和代码的质量。