Java 8 Stream API详解与实战
Java 8的Stream API提供了一种新的、更加简洁高效的方式来处理集合数据。以下是Stream API的主要特性以及实战示例:
数据源:集合类(List, Set, Map)和数组。
迭代操作:
forEach
:对每个元素应用一个函数。collect
:将流转换为一个容器对象。map
:将每个元素映射到另一个值。
选择性操作:
filter
:保留满足某个条件的元素。sorted
/parallelSorted
:对集合进行排序,支持并行处理。distinct
:去除重复元素。
实战示例:
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
// 创建数据源
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
// 使用Stream API进行操作
// 1. 简单过滤
List<String> filteredNames = names.stream()
.filter(name -> name.startsWith("A"))) // 过滤条件
.collect(Collectors.toList()));
// 2. 分组并计算总和
Map<String, Integer> groupedAndSum = names.stream()
.collect(Collectors.groupingBy(name -> name.substring(0, 1)))) // 按首字母分组
.map(group -> group.size())) // 计算每个分组的元素个数
.collect(Collectors.toMap(groupSize -> "Group_" + groupSize), integerSize -> integerSize)));
// 打印结果
filteredNames.forEach(name -> System.out.println(name)));
groupedAndSum.forEach((key, value)) -> System.out.println(key + ": " + value));
以上就是Java 8 Stream API详解与实战,希望对你有所帮助。
还没有评论,来说两句吧...