函数式编程

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

中间操作

去重

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. 生态学建模:增强回归树(BRT)预测短鳍鳗生存分布和影响因素|附代码数据

    全文下载链接: http://tecdat.cn/?p=22482 最近我们被客户要求撰写关于增强回归树(BRT)的研究报告,包括一些图形和统计输出. 在本文中,在R中拟合BRT(提升回归树)模型.我 ...

  2. linux源码-概览

    BootloaderWin    Bios Linux UbootAndroid fastboot linux源码宏观结构boot:启动linux时要用到的引导代码 bootsect.s 磁盘引导文件 ...

  3. PMP项目启动会与开工会议

    转载https://www.cnblogs.com/yanpeng1991/p/11391805.html 项目启动会(project initiating meeting)与项目开工会(kick-o ...

  4. SQL Server【提高】碎片

    碎片 当对索引所在的基础数据表进行增删改时,若存储的数据进行了不适当的跨页(SQL Server中存储的最小单位是页,页是不可再分的),就会导致索引碎片的产生. 外部碎片 插入的数据使页与页之间造成断 ...

  5. Ubuntu: 升级或安装最新版本的 Nginx

    Ubuntu 默认 apt 源中的 Nginx 版本比较旧,今天介绍下如何在 Ubuntu 中安装最新版本的 Nginx. 要安装较新版本的 Nginx, 可以使用 Nginx 的 APT 源.执行如 ...

  6. xlwings.copy两种用法和匹配超链接

    第一种复制整个sheet页,不能覆盖同名sheet,需先删除.name新sheet也名称 after复制后的位置wb.sheets('增量机会-体外刷新导入').copy(name='快照版本(勿动) ...

  7. Java基础之类型转换

    类型转换 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换 低 --------------------------------------------------------&g ...

  8. Java基础之注释

    注释 在Java的编写过程中我们需要对一些程序进行注释,除了自己方便阅读,更为别人更好理解自己的程序,可以是编程思路或者是程序的作用. 注释不会被执行,是给写代码的人看的. 书写注释是一个非常好的习惯 ...

  9. threadlocal应用

    public class DataSourceSelector { /** * 线程threadlocal */ private static ThreadLocal<String> db ...

  10. 老生常谈:String s1 = new String("abc") 创建了几个字符串对象及8 种基本类型的包装类和常量池

    将创建 1 或 2 个字符串.如果池中已存在字符串常量"abc",则只会在堆空间创建一个字符串常量"abc".如果池中没有字符串常量"abc" ...