前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >视频流媒体平台内JAVA8的流式编程——常用流操作

视频流媒体平台内JAVA8的流式编程——常用流操作

作者头像
EasyNVR
发布2020-06-15 11:30:17
5860
发布2020-06-15 11:30:17
举报
文章被收录于专栏:EasyNVR

通俗地讲,流是支持类似数据库操作的“花哨的迭代器”。技术上讲,它是从某个数据源获得的支持聚合操作的元素序列。我们的视频流媒体服务器EasyNVR、EasyDSS等,都是属于流。

流接口在java.util.stream.Stream定义了许多操作,这些可以分为以下两类:

  • filter,sorted和map一样的可以被连接起来形成一个管道的操作。
  • collect,findFirst和allMatch一样的终止管道并返回数据的操作。

可以被连接起来的操作被称为中间操作,它们能被连接起来是因为都返回流。本文我们讲一下JAVA8的流式编程——常用流操作。

JAVA8的常用流操作

方法还是很多的,根据操作返回结果不同,我们大致进行一下分类,也就是返回stream的就是中间操作,其他的,返回具体对象的就是最终操作:

中间操作:

filter(): 对元素进行过滤 sorted():对元素排序 map():元素映射 distinct():去除重复的元素 最终操作: forEach():遍历每个元素。 findFirst():找第一个符合要求的元素。 reduce():把Stream 元素组合起来。例如,字符串拼接,数值的 sum,min,max ,average 都是特殊的 reduce。 collect():返回一个新的集合。 min():找到最小值。 max():找到最大值。

需要注意的是,一般中间操作之后,都是为了进行最终操作,得到我们需要的对象。

示例:

Java8以前我们常用的编程范式是命令式编程,使用起来比较复杂和繁琐,所以老是有很多新语言标榜自己的简单明了,强调Java的笨重,现在Java也加入了函数式编程,是代码看起来更加简洁与灵活,java流式编程主要操作对象是集合,为集合添加了查找、过滤、分组、排序等一系列的增强操作,使用起来更加方便。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-06-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • JAVA8的常用流操作
    • 中间操作:
      • 示例:
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档