Stream API 提供了丰富的函数方法来处理集合元素。以下是一些常用的函数方法:
1. `filter(Predicate<T> predicate)`:根据给定的条件(Predicate)过滤集合中的元素,返回一个满足条件的新 Stream。
2. `map(Function<T, R> mapper)`:将集合中的每个元素通过给定的函数(Function)进行转换,返回一个转换后的新 Stream。
3. `forEach(Consumer<T> action)`:对集合中的每个元素执行给定的操作(Consumer)。
4. `sorted()`:对集合中的元素进行默认排序(根据元素自然顺序)。
5. `sorted(Comparator<T> comparator)`:对集合中的元素根据给定的 Comparator 进行排序。
6. `distinct()`:去除集合中的重复元素,返回一个新 Stream。
7. `limit(long maxSize)`:返回一个包含最多 maxSize 个元素的新 Stream。
8. `skip(long n)`:丢弃前 n 个元素,返回一个新 Stream。
9. `findFirst()`:返回第一个元素。
10. `findAny()`:返回任意一个元素。
11. 终止操作:
- `count()`:返回 Stream 中的元素个数。
- `collect(Collector<T, A, R> collector)`:将 Stream 中的元素收集到一个结果容器中,如 List、Set、Map 等。
- `max(Comparator<? super T> comparator)`:找出 Stream 中的最大元素。
- `min(Comparator<? super T> comparator)`:找出 Stream 中的最小元素。
- `reduce(BinaryOperator<T> accumulator)`:将 Stream 中的元素进行归约操作,得到一个结果。
还有其他更多的函数方法,可以根据具体需求来选择和使用适合的方法。通过组合和链式调用这些函数方法,可以实现复杂的集合数据处理和转换操作。