函数式编程

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

中间操作

去重

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. git lock fail解决

    本地多个分支,remote .remote tracking.local checkout了2个不同版本分支,发现最后版本却是相同的,然后pull时报git lock fail, 看来发送了冲突了,删 ...

  2. redis-RedisTemplate.opsForValue 常用方法

    16.multiSetIfAbsent(Map<? extends K,? extends V> map) 如果对应的map集合名称不存在,则添加,如果存在则不做修改. Map value ...

  3. EasyUI异步Tree默认请求id获取不到问题

    在做淘淘商城项目过程中,在新增商品-选择类目时,使用EasyUI的异步Tree功能,根据视频教程封装了一个common pojo--EUTreeNode对象,属性值取parentId(id).text ...

  4. git通过ssh方式免密克隆代码仓库

    git上添加ssh公钥 略过 终端命令行 格式: git clone ssh://[user@]host.xz[:port]/path/to/repo.git/ 栗子: git clone ssh:/ ...

  5. STM32中HAL库和标准库的区别

    转载自:https://www.lmonkey.com/t/RwykY8bBX STM32标准库与HAL库比较 ST为开发者提供了非常方便的开发库.到目前为止,有标准外设库(STD库).HAL库.LL ...

  6. CF319D 题解

    题意 传送门 给你一个字符串 \(S\),要求你每次找到一个最短的并且最左边的形如 \(XX\)(即由两个相同的字符串拼接而成)的子串,然后把这个字符串从 \(XX\) 变成 \(X\).问无法操作后 ...

  7. ResponseUtil 请求返回

    package com.infosec.sso.common; import java.io.IOException; import java.util.HashMap; import java.ut ...

  8. QTableWidget CSS样式

    QTableWidget { border:1px solid rgb(170, 170, 127); border-radius:3px; } QScrollBar::handle { backgr ...

  9. js下载文件防止白屏

    思路:用js创建一个iframe,让后指定src为下载目录. var ifup = document.getElementById("xman-activity-export-downLoa ...

  10. jquery 页面追加换行等等操作备份

    var str= "a<br/>b<br/>c<br/>"; var Newstr = str.replace("<br/> ...