Stream API的使用
时间: 2024-04-30 08:03:17 浏览: 12
Stream API是Java 8中提供的一种处理集合数据的工具,它可以让我们通过流式操作来处理数据,提高代码的简洁性和可读性。使用Stream API,我们可以实现对集合数据的筛选、转换、聚合等操作。
Stream API的使用包括以下几个步骤:
1. 获取一个集合对象,可以是List、Set、Map等集合类型。
2. 调用集合对象的stream()方法,将集合转换为一个流对象。
3. 对流对象进行中间操作,如过滤、映射、排序等操作,这些操作不会改变原有数据,只是产生一个新的流对象。
4. 对流对象进行终端操作,如forEach、reduce、collect等操作,这些操作会触发流的处理,产生最终结果。
以下是一个使用Stream API对List集合进行筛选和聚合的示例代码:
```java
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
// 筛选出偶数
List<Integer> evenList = list.stream().filter(i -> i % 2 == 0).collect(Collectors.toList());
// 计算偶数的平均值
double average = evenList.stream().mapToInt(Integer::intValue).average().getAsDouble();
System.out.println("偶数列表:" + evenList);
System.out.println("偶数平均值:" + average);
```
输出结果:
```
偶数列表:[2, 4, 6, 8, 10]
偶数平均值:6.0
```
在这个例子中,我们首先创建一个包含1到10的整数列表,然后使用stream()方法将其转换为一个流对象。接着,我们使用filter()方法筛选出列表中的偶数,并使用collect()方法将结果收集到一个新的List对象中。最后,我们使用mapToInt()方法将List中的元素转换为int类型,并使用average()方法计算平均值。