【Java】jdk1.8新特性-Stream流

JDK1.8 新特性-Stream流

1.stream流

1.1 概念

Stream流是JAVA8 API的新成员,它允许以声明性处理数据集合。其通过函数式编程使得代码更简洁且可读性更高。

1.2 使用流程

首先需要将集合转为stream流,然后就可以操作stream流;

//将集合转为stream流
List<String> collect = Arrays.asList("11", "22");
collect.stream();
1.4 操作符-中间操作符、终止操作符
1.4.1 中间操作符
流方法含义示例
filter用于根据条件过滤出元素List<String> filters collect.stream().filter(v -> StringUtils.isNotBlank(v)).collect(Collectors.toList());
distinct返回一个元素各异(根据流所生成的元素的hashcode和equals方法实现)的流List<String> distincts = collect.stream().distinct().collect(Collectors.toList());
limit会返回一个不超过给定长度的流
skip返回一个扔掉了前n个元素的流
map接受一个函数作为参数,这个函数会被应用到每个元素上,并将其映射成一个新的元素List<Integer> map = collect.steam().map(Integer::valueOf).collect(Collectors.toList());
flatMap使用faltMap方法的效果是,各个数组并不是分别映射成一个流,而映射成流的内容。所有使用map时生成的单个流都被合并起来,即一个扁平化为一个流`List<List> arrays = Arrays.asList(Arrays.asList(“11”, “22”), Arrays.asList(“33”, “44”));
List list = arrays.stream().flatMap(v -> v,stream()).collect(Collectors.toList());`
sort排序,支持自定义比较器
1.4.2 终止操作符
流方法含义
anyMatch检查是否至少匹配一个元素,返回布尔值
allMatch检查是否匹配所有元素,返回布尔值
noneMatch检查是否没有匹配的元素,返回布尔值
findAny将返回当前流中的任意元素
findFirst返回第一个元素
forEach循环
collect收集器,将流转化为其他形式,例如ArrayList
reduce将流中所有元素反复结合起来得到一个值
count计数
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值