Java 8新特性:流(Stream)和 Lambda表达式示例
在Java 8中,引入了两个重要的新特性:流(Stream)和Lambda表达式。下面分别举例说明。
- 流(Stream)
流是一种抽象概念,它代表了一系列可以操作的元素。例如,你可以从一个列表或集合创建流,然后对这些元素进行过滤、排序等操作。
import java.util.Arrays;
import java.util.List;
// 创建一个列表
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
// 使用流对名字进行排序
List<String> sortedNames = names.stream()
.sorted() // 自动使用Comparator进行比较
.collect(Collectors.toList()));
// 输出排序后的名字列表
System.out.println(sortedNames);
- Lambda表达式
Lambda表达式是一种匿名函数,它可以在需要函数对象的场合直接编写。Lambda表达式的语法简洁,通常包含参数、箭头和函数体。
// 创建一个简单的Lambda表达式,用于计算两个数之和
(int a, int b) -> a + b;
// 使用Lambda表达式对排序后的名字列表进行过滤,只保留长度大于3的名称
List<String> longNames = sortedNames.stream()
.filter(name -> name.length() > 3)) // Lambda表达式作为条件
.collect(Collectors.toList()));
// 输出只包含长度大于3的名称的列表
System.out.println(longNames);
以上就是Java 8中流(Stream)和Lambda表达式的示例。
还没有评论,来说两句吧...