Stream API是Java 8中引入的用于处理集合数据的强大工具,提供了丰富的方法来进行过滤、映射、排序、聚合等操作。以下是Stream流中常用的方法:
- filter(Predicate<T> predicate): 用于过滤流中的元素,只保留符合条件的元素。
- map(Function<T, R> mapper): 对流中的每个元素进行映射转换,将元素转换为新的形式。
- flatMap(Function<T, Stream<R>> mapper): 将流中的每个元素映射为一个流,然后将这些流合并成一个流。
- distinct(): 去除流中重复的元素,保留唯一值。
- sorted(): 对流中的元素进行自然排序(升序)。
- sorted(Comparator<T> comparator): 使用自定义比较器对流中的元素进行排序。
- limit(long maxSize): 限制流中元素的数量,仅保留指定数量的元素。
- skip(long n): 跳过流中的前n个元素,返回剩下的元素流。
- forEach(Consumer<T> action): 对流中的每个元素执行指定的操作。
- collect(Collector<T, A, R> collector): 将流中的元素收集到一个可变容器中,例如List、Set、Map等。
- toArray(): 将流中的元素转换为数组。
- min(Comparator<T> comparator): 返回流中最小的元素,根据自定义比较器进行比较。
- max(Comparator<T> comparator): 返回流中最大的元素,根据自定义比较器进行比较。
- count(): 返回流中元素的总数量。
- anyMatch(Predicate<T> predicate): 判断流中是否存在任意一个元素满足条件。
- allMatch(Predicate<T> predicate): 判断流中所有元素是否都满足条件。
- noneMatch(Predicate<T> predicate): 判断流中所有元素是否都不满足条件。
这些是Stream流中的一些常用方法,它们可以按需组合使用来完成复杂的数据处理任务。通过Stream API,我们可以以一种更简洁、流畅的方式处理集合数据,提高代码的可读性和可维护性。