Java 8 in Action (2) -- Stream 流

来源:互联网 发布:嵌入式linux stm32 编辑:程序博客网 时间:2024/05/22 15:37

流和集合的区别

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

哲学中的流和集合

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

流的使用

- [1] 一个数据源(如集合)来执行一个查询

- [2] 一个中间操作链,形成一条流的流水线

- [3] 一个终端操作,执行流水线,并能生成结果

流的中间操作和终端操作

操作 描述 类型 返回类型 使用类型/函数式接口 函数描述符 filter 筛选 中间 Stream Predicate T->boolean distinct 独一无二 中间(有状态-无界) Stream skip 跳过 中间(有状态-有界) Stream long limit 限制几个 中间(有状态-有界) Stream long map 获取…重新返回单独的流 中间 Stream Function T->R flatMap 生成扁平化为单个流 中间 Stream Function> T->Stream sorted 排序 中间(有状态-无界) Stream Comparator (T,T)->int anyMatch 终端 boolean Predicate T->boolean noneMatch 终端 boolean Predicate T->boolean allMatch 终端 boolean Predicate T->boolean findAny 终端 Optional findFirst 终端 Optional forEach 终端 void Consumer T->void collect 终端 R Collector reduce 终端(有状态-有界) Optional BinaryOperator (T,T)->T count 终端 long
0 0
原创粉丝点击