Java-Stream流详解

  • 如何学会JDK8中的Stream流,用它来提高开发效率?
    • 创建不可变的集合(Immutable 不可变的)
      • 场景
      • 方法
    • 初试 Stream 流
    • Stream 流的思想
    • Stream 流的作用
    • Stream 流的使用步骤
    • Stream 流的中间方法
    • Stream 流的终结方法

如何学会JDK8中的Stream流,用它来提高开发效率?

Go!

创建不可变的集合(Immutable 不可变的)

场景

1、数据不能被修改
2、被不信用的方法调用

方法

在List、Set、Map接口中都存在静态的of方法,可以获取一个不变的集合。
注:这个集合不能被添加、修改、删除元素。

List<String> list = List.of("张三", "李四");
// 对该对象进行 add、remove、set操作会报错
Set<String> set = Set.of("张三", "李四");
// 一旦创建,只能进行查询操作
Map<String, String> map = Map.of("key", "value");
// 键不能重复;底层源码of没有可变参数,最多10个键值对;超过10个,需要使用ofEntries/copyOf

初试 Stream 流

// 将集合中名字以“张”开头,并且长度为3的名字打印出来
list.stream().filter(name -> name.startWith("张")).filter(name -> name.length == 3).forEach(name -> System.out.println(name));

Stream 流的思想

类似工厂流水线模式的流程处理。

Stream 流的作用

结合Lambda表达式,简化对数组、集合的操作。

Stream 流的使用步骤

先得到一条Stream流(流水线),并把数据放上去,然后使用各种API进行操作。

过滤转换 中间方法
统计打印 终结方法(最后一步)

双列集合需要使用 keySet 或者 entrySet 方法,再使用 Stream 方法。

Stream.of() 方法,必须是引用数据类型,如果是基本类型,不会自动装箱,会把整个数组作为整体放入流中。

Stream 流的中间方法


注意:
1、中间方法会生成新的流。
2、caocat 要注意两个流中的对象类型保持一致,否则会自动选取大的作为共同父类。

// map() 方法的使用;第一个参数是传入数据类型,第二个参数为返回类型
list.stream().map(new Function<String, Integer>(){@Overridepublic Integer apply(String s){return result;}
}).forEach(s -> System.out.println(s));=====================================================list.stream().map(s -> Integer.parseInt(s)).forEach(s -> System.out.println(s));

注意:第二个参数为泛型,泛型里面不能写基本数据类型。

Stream 流的终结方法

【精品】Java-Stream流详解相关推荐

  1. Java - Stream流详解

    文章目录 前言 大家好,好久不见了,最近由于实训的影响导致拖更了,在更新这一次估计javaSE基本上就算是完结了,还有一些落下的后面也会补上的,下次见面就是数据结构了 尽情期待吧!那么就让我们步入St ...

  2. java io流详解_一文带你看懂JAVA IO流,史上最全面的IO教学啦

    一.IO流是什么 惯例引用百科的回答流是一种抽象概念,它代表了数据的无结构化传递.按照流的方式进行输入输出,数据被当成无结构的字节序或字符序列.从流中取得数据的操作称为提取操作,而向流中添加数据的操作 ...

  3. Java中的Stream流详解

    JDK8 Stream详解 概念 Stream是Java8 API的新成员,它允许以声明性方式处理数据集合 . 特点 (1)代码简洁:函数式编程写出的代码简洁且意图明确,使用stream接口让你从此告 ...

  4. Java8新特性Stream流详解

    陈老老老板 说明:新的专栏,本专栏专门讲Java8新特性,把平时遇到的问题与Java8的写法进行总结,需要注意的地方都标红了,一起加油. 本文是介绍Java8新特性Stream流常用方法超详细教学 说 ...

  5. stream流详解(JDK1.8的特性)

    Stream流 一 : Stream流的介绍 二 : 获取Stream流的方式 三 : Stream流中的常用方法 1.forEach(终结方法) 2.过滤:filter 3.映射(转换):map 4 ...

  6. java IO流详解及特性

    流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...

  7. java8 stream遍历_Java8新特性:Stream流详解

    1. Stream初体验 我们先来看看Java里面是怎么定义Stream的: A sequence of elements supporting sequential and parallel agg ...

  8. JAVA—IO流详解

    1. 流概述 1.1. 什么是IO IO:Input/Output即输入&输出,也称之为流(河流,水流),指的是数据从一个地点到另一个地点过程:对于计算机来说文件的拷贝过程,文件的编写保存,显 ...

  9. zipfile中怎么关闭流_深入学习JAVA -IO流详解

    (一)IO流基本概念 Java对数据的操作是通过流的方式,io是java中实现输入输出的基础,它可以很方便的完成数据的输入输出操作,Java把不同的输入输出抽象为流,通过流的方式允许Java程序使用相 ...

最新文章

  1. Python 微信机器人-用itchat库向好友发送名片、转发名片实例演示
  2. 全球及中国手持式无线电台行业十四五发展动态及前景趋势调研报告2022-2027年
  3. python_目录结构
  4. Beyond Compare启动出错解决方案
  5. H5与Native交互之JSBridge技术 1
  6. 更新管理器_Excel2016数据透视表06:名称管理器实现透视表的动态更新
  7. VS 2005 下载地址
  8. 北海焊接机器人_北海中型机械手臂生产,机械手
  9. m序列 MATLAB仿真
  10. 服务计算——Selpg
  11. 商业智能BI财务分析,如何从财务指标定位到业务问题
  12. 一篇走心的文章和一个不起眼的引流方法
  13. 联发科MT6797/Helio X20软件用户手册资料介绍
  14. 1359: 最大公约数
  15. 指令,机器指令,指令周期,机器周期的辨析
  16. xp获取计算机管理员权限,xp管理员权限的获取与防范
  17. 灰狼优化算法(GWO)附代码
  18. sql日期时间相减语句
  19. Linux开发工具--(编辑器,编译器,调试器)
  20. ubuntu 下myeclipse下载,安装,破解

热门文章

  1. 编码会不会逐渐消亡?
  2. 前端实习记录 — 代码规范 编码惯例 性能优化
  3. Brenda应用(2.0) - 构建(酶, 物质, 关系)0-1表格用于NBI推断新关系
  4. TOJ4646划分数
  5. Android G711A 音频编解码,去除“吱吱”电流声,附上so下载地址
  6. 人工智能发展史-从图灵测试到大数据
  7. layedit添加首行缩进
  8. Unity3d学习笔记(三)Legacy粒子系统提前和延迟发射
  9. PAT乙级 1009 说反话
  10. 计算机音频服务无法启动,win10系统audioendpointbuilder音频服务无法启动的解决办法...