streamApi简化了java对数据集操作的语法,代码简洁。 支持多线程并行处理,提高了资源利用率。
函数式编程强调做什么而不是怎么做,天然多线程安全的没有并发编程问题。是闭包的,其数据全部都是独立不可变的。
lambda表达式的基本格式 入参 -> 功能代码
stream有三种节点 中间节点,短路节点,终止节点
中间节点: map 映射 reduce聚合 flatmap聚合映射 sorted排序 distinct去重 concat 连接 peek获取元素
短路节点: skip跳过几个 limit留下几个 find查找 match匹配 filter过滤
终止节点: foreach遍历 collect收集 max最大 min最小 average平均 count计数 sum求和
Stream lines = Files.lines(Paths.get(“”)); //将文件装换为stream流可以进行流式处理