函数式编程

注重函数 - 关注对数据进行了什么操作

中间操作

去重

authors.stream()
.distinct()
;

查询指定匹配

.filter(new Predicate<Author>() {
@Override
public boolean test(Author author) {
author.getAge() == 18;
}
})
Lambda优化=>
.filter(author -> author.getAge() == 18)

转换流当中的类型

.map

排序

不能有重复 - .sorted()

降序

空参 - 实现compareble接口

有参-

限制流的最大长度

limit -

跳过前n个元素, 返回剩下的元素

.skip

取出一个新的流 - 新类型

map只能把一个对象转换成另一个对象来作为流中的元素。而flatMap可以把一个对象转换成多个对象作为流中的元素。

.flatMap

终结操作

遍历

forEach(new Consumer<Author>() {
@Override
public void accept(Author author) {
System.out.println(author.getName());
}
});
Lambda优化=>
.forEach(author -> System.out.println(author.getName()))

获取当前流中的元素的个数

.cout

求流中的最大最小值

.max

.min

把当前流转换成一个集合

.collect(Collectors.toList)

.collect(Collectors.toSet)

.collect(Collectors.toMap(a->a.getKey, a->a.getValue))

查找与匹配

.anyMatch(匿名内部类- 判断条件)

.allMatch()

.findAny

.findFirst

归并

reduce

内部操作流程

Stram流 - 随笔的更多相关文章

  1. stram流char[]保存,支持中文,Filestram需要先转byte[]才能使用,但是性能更好《转载》

    学习流的使用时(stream类),逐步遇到新的理解,记录一下 1.FileStream流是处理byte[],默认UTF8类型 当你使用wirte方法时将非byte类型的输入内容,先将内容通过转换为字节 ...

  2. WEB API 用MemoryStream流做下载功能

    刚开始把MemoryStream 放在 var streamResult = new MemoryStream(); HttpResponseMessage response = new HttpRe ...

  3. 这么简单,还不会使用java8 stream流的map()方法吗?

    一.前言 在日常的开发工作中经常碰到要处理list中数据的问题,比如从数据库中查出了很多学生,由于一些原因需要在内存中找出这些学生中的所有姓名,或者把名为"王五"的语文成绩暂时修改 ...

  4. java中的stream的泛型方法的使用示例

    本文章使用jdk8测试 ,并结合使用lambda测试 测试前准备一些测试数据: class ObjectDemo { private Integer id; private String name; ...

  5. Java 1.8 Stream 用例测试

    package stream; import model.Student; import org.junit.jupiter.api.Test; import java.util.*; import ...

  6. java I/O流 温习随笔

    java I/O流的熟练掌握是十分重要的. 在我的理解中,I/O流可以分为两种:字符流.字节流.字符流就是可以用来传输字符的流,比如传输txt文本,简单的说,只有能被电脑中的记事本直接打开并且你能看懂 ...

  7. css随笔1

    1.简单清除浏览器样式 *{        padding: 0px;        margin: 0px;    } 2.得到屏幕范围的div html,body{        width: 1 ...

  8. web前端学习随笔

    为什么是随笔 好好算下来,学习web前端已有半个月了,这半个月来主要学习的是HTML和CSS部分,期间有困惑,也有解决困惑时的快感,所以想把这段时间感受到的一些东西记下来,因为内容比较杂,所以干脆叫随 ...

  9. a冲刺总结随笔

    Alpha版本计划完成一般的便签功能:   预期项目 实际进展 首页瀑布流方块布局 1 按新旧顺序排列 1 增加记录 1 编辑文字信息 1 标记喜爱 0 删除文字信息 1 手动添加分类 0 反馈页面 ...

  10. 20155301-滕树晨 第二次随笔作业--从现有技能获取的经验应用于JAVA中

    第二次随笔--从现有技能获取的经验应用于JAVA中 你有什么技能比大多人(超过90%以上)更好? 这个想了半天,有一个是我乒乓球还是比较擅长的,在学校里可能比百分之90的人要强,在外面肯定是不如了.再 ...

随机推荐

  1. PyTables 教程(一)入门,浏览对象树,将数据提交到表和数组

    翻译自http://www.pytables.org/usersguide/tutorials.html 教程 Seràs la clau que obre tots els panys, seràs ...

  2. 从各种点理解Unity中的协程

    这个写的很好,https://zhuanlan.zhihu.com/p/59619632

  3. mysql 获取某个时间段内每天的数据

    SELECT dayTb.cday '日期' ,IFNULL(tNumTb.num,0) '订单数' FROM ( SELECT @cdate := DATE_ADD(@cdate, INTERVAL ...

  4. docker 可视化平台Portainer搭建

    1.部署步骤 docker pull portainer/portainer docker run -d -p 9001:9000 \--restart=always \-v /var/run/doc ...

  5. docker持久化数据存储

    一.把数据存储到本地/opt/data目录下面,容器挂载到/data目录下面 [root@docker-1 ~]# docker run -itd --name www -v /opt/data:/d ...

  6. 实时搜索引擎Elasticsearch

    Elasticsearch(简称ES)是一个基于Apache Lucene(TM)的开源搜索引擎,无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进.性能最好的.功能最全的搜索引擎库. E ...

  7. windows环境go安装和goland激活

    1. go环境安装 1.1. go安装包下载 https://golang.google.cn/dl/ https://studygolang.com/dl 1.2. 安装go环境 1.2.1. 点击 ...

  8. HUAWEI——— 防火墙+ACL访问控制+AP上线+默认路由+NAT+DHCP(案例拓扑)

    #HUAWEI--- 防火墙+ACL访问控制+AP上线+默认路由+NAT+DHCP(案例拓扑) 网络拓扑图: 项目要求: 1.交换机SwitchA,作为有线终端的网关,同时作为DHCP server, ...

  9. Unity中的批处理优化与GPU Instancing【转】

    我们都希望能够在场景中投入一百万个物体,不幸的是,渲染和管理大量的游戏对象是以牺牲CPU和GPU性能为代价的,因为有太多Draw Call的问题,最后我们必须找到其他的解决方案.在本文中,我们将讨论两 ...

  10. Cloudflare.com设置域名URL转发

    1.登录Cloudflare.com,将语言设置为简体中文,并选择需要设置URL转发的域名. 2.选择域名,需先对域名进行解析,解析地址随便填写,可以填写CloudFlare官方提供的DNS服务器地址 ...