java学习记录-Stream流

Stream的生成方式:

1、collection体系的集合可以使用默认方法.Stream()直接生成流 defult Stream stream()
2、Map体系的集合间接的生成流,通过keyset(),values(),entryset(),转换为collection体系的集合
3、数组可以通过Stream接口的静态方法of(T… values)生成流

Stream的常见中间操作方式:

Stream filter(Predicate predicate):用于对流中的数据进行过滤
Predicate接口中的方法:
boolean test(T t):对于给定的参数进行判断,返回一个布尔值

Stream limit(long maxSize):返回此流中的元素组成的流,截取前指定参数个数的数据

Stream skip 跳过指定参数个数的数据,返回由该流的剩余元素组成的流

static Stream concat(Stream a,Stream b):合并a和b两个流为一个流

Stream distinct():流元素去重(根据Object.equals(Object)组成)

Steam sorted():返回根据自然排序的流

Steam sorted(Comparator comparetor):返回根据比较器排序的流

Stream map(Function mapper):返回给定函数应用于此流元素的结果组成的Stream流

IntStream mapToInt(ToIntFunction mapper):返回一个IntStream,其中包含将给定函数应用于此流的元素的结果
ToIntFunction接口中的方法:int applyAsInt(T value)
IntStream中有sum()等处理方法

Stream的常见终结操作方式(一个流只能有一个终结操作):

void forEach(Consumer action):对此流的每个元素执行操作
consumer接口中的方法 void accept(T t):对给定的参数执行此操作

long count():返回此流中的元素数

Stream的收集操作

作用:对数据使用Stream流的方式操作完毕以后,将流中的数据收集到集合中。
Stream的收集方法:
R collect (Collector collector)

它是通过工具类Collectors 提供了具体的收集方式
public static Collector tolist():把元素收集在list集合中
public static Collector toset():把元素收集在set集合中

public static Collector tomap(Function keyMapper,Function valueMapper):把元素收集在map集合中

arrayStream.collect(Collection.tomap(s->s.split(",")[0],s->Integer.parseInt(s.split(",")[1])));
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值