Java 8 in Action (2) -- Stream 流

流和集合的区别

1. 流只能消费一次
2. 循环方式不同,流:内部迭代,集合:外部迭代

哲学中的流和集合

--->时间
集合--->空间

流的使用

- [1] 一个数据源(如集合)来执行一个查询
- [2] 一个中间操作链,形成一条流的流水线
- [3] 一个终端操作,执行流水线,并能生成结果

流的中间操作和终端操作

操作描述类型返回类型使用类型/函数式接口函数描述符
filter筛选中间StreamPredicateT->boolean
distinct独一无二中间(有状态-无界)Stream
skip跳过中间(有状态-有界)Streamlong
limit限制几个中间(有状态-有界)Streamlong
map获取…重新返回单独的流中间StreamFunctionT->R
flatMap生成扁平化为单个流中间StreamFunction>T->Stream
sorted排序中间(有状态-无界)StreamComparator(T,T)->int
anyMatch终端booleanPredicateT->boolean
noneMatch终端booleanPredicateT->boolean
allMatch终端booleanPredicateT->boolean
findAny终端Optional
findFirst终端Optional
forEach终端voidConsumerT->void
collect终端RCollector
reduce终端(有状态-有界)OptionalBinaryOperator(T,T)->T
count终端long
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值