Stream流

发布时间:2023年12月26日
  • Java中的Stream API是一个用于处理数据的高级工具,它可以帮助您以声明性方式处理数据集合。Stream API是Java 8中引入的一个重要特性,用于简化集合对象的操作。它提供了一种高效且简洁的方法来处理集合数据,特别是对于批量数据操作和函数式编程风格。

以下是一些常用的Stream操作及其说明:

  1. 创建Stream
  • Collection.stream():从一个集合创建流。
  • Stream.of(T... values):从一组元素创建流。
  1. 中间操作
  • filter(Predicate<T>):过滤元素。
  • map(Function<T, R>):转换每个元素。
  • sorted():排序流中的元素。
  • distinct():去除重复元素。
  • limit(long maxSize):截取流的前几个元素。
  • skip(long n):跳过流的前几个元素。
  1. 终止操作
  • forEach(Consumer<T>):遍历流中的每个元素。
  • collect(Collector<T,A,R>):将流转换为其他形式。
  • reduce(BinaryOperator<T>):将流中元素反复结合起来,得到一个值。
  • count():返回流中元素的总个数。
  • anyMatch(Predicate<T>):至少有一个元素匹配给定条件时返回true。
  • allMatch(Predicate<T>):所有元素均匹配给定条件时返回true。
  • noneMatch(Predicate<T>):没有任何元素与给定条件匹配时返回true。
  • findFirst():返回流中的第一个元素。

例如,以下代码展示了如何使用Stream API来处理一个字符串列表:

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class StreamExample {
    public static void main(String[] args) {
        List<String> strings = Arrays.asList("Java", "Stream", "API", "Example");

        // 使用filter和map操作
        List<String> filtered = strings.stream()
                                       .filter(s -> s.startsWith("S"))
                                       .map(String::toUpperCase)
                                       .collect(Collectors.toList());

        System.out.println(filtered); // 输出: [STREAM]
    }
}

在这个例子中,我们首先通过.stream()创建了一个流,然后使用filtermap方法来处理流中的元素,最后通过collect方法将其收集到一个新的列表中。

文章来源:https://blog.csdn.net/qw123456789e/article/details/135218792
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。