Stream流代替For循环进行输出可以使代码更简洁。

需求:根据姓名获取员工信息

1.建立实体类:Emp

2.测试类:

(1.) 原始For写法:

(2.) Stream流:

输出结果为:

补充知识:java中for、foreach、stream性能比较

我们在开发中循环遍历一个数组经常会用到,jdk8推出了一些新特性,对循环做了比较,通过代码亲测,记录一下!

1、for循环

2、foreach循环(for循环的增强版)

结论:通过代码测试发现在1万以内的数据,for循环比foreach效率要高一些;但是10万以内数据的时候,foreach效率更高一些!

foreach [10万数据时间 1112 1165 1203 1115] [1万数据 235 146 176 164 175]

for循环 [10万数据时间 1330 1437 1347] [1万数据 110 109 141]

3、stream api

(1)、串行处理,即同步处理

结论:1万以内的数据,for循环的性能要高于foreach和stream;10万以内的数据明显可以看出stream效率最高,其次foreach,最后是for。

[10万数据时间 854 892 789 844][1万数据 172 156 219 172 171]

(2)并行处理,即stream api提供了异步处理机制

结论:1万以内的

stream 定长循环_Java8之Stream流代替For循环操作相关推荐

  1. Stream代替for循环

    前言 用Stream代替for循环进行输出可以使代码更简洁. 例如 List<String> players =Arrays.asList("kebe","j ...

  2. Node.js stream模块(一)可读流

    目录 fs.readFile的问题 如何设计出内存友好的,且人性化的数据生产与消费模式 stream模块 创建可读流对象 _read的作用 push的作用 可读流对象的缓冲区buffer 水位线hig ...

  3. C# Stream 和 byte[] 之间的转换(文件流的应用)

    一. 二进制转换成图片 MemoryStream ms = new MemoryStream(bytes); ms.Position = 0; Image img = Image.FromStream ...

  4. 描述 C 库函数 int fseek(FILE *stream, long int offset, int whence) 设置流 stream 的文件位置为给定的偏移 offset,参数 offs

    描述 C 库函数 int fseek(FILE *stream, long int offset, int whence) 设置流 stream 的文件位置为给定的偏移 offset,参数 offse ...

  5. java socket发送定长报文_一个基于TCP协议的Socket通信实例

    原标题:一个基于TCP协议的Socket通信实例 1. 前言 一般接口对接多以http/https或webservice的方式,socket方式的对接比较少并且会有一些难度.正好前段时间完成了一个so ...

  6. Stream的特性、用法、stream().map().collect()用法

    Stream的特性.用法.stream().map().collect()用法 1.举例说明 有一个集合: List<User> users = getList(); 现在想获取User的 ...

  7. java8 流操作_java8中的流操作

    Stream 流是 Java 8 新提供给开发者的一组操作集合的 API,将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选.排序.聚合等.元素流在管道中经过 ...

  8. stream of java_Java 8 新特性-Stream更优雅的处理集合入门

    Java 8 新特性之--Stream 一. 简单介绍 Stream是Java 8提出了的一种新的对集合对象功能的增强.它集合Lambda表达式,对集合提供了一些非常便利,高效的操作,使得代码具有非常 ...

  9. netty权威指南学习笔记五——分隔符和定长解码器的应用

    TCP以流的方式进行数据传输,上层应用协议为了对消息进行区分,通常采用以下4中方式: 消息长度固定,累计读取到长度综合为定长LEN的报文后,就认为读取到了一个完整的消息,将计数器置位,重新开始读取下一 ...

最新文章

  1. 如何使用 ASP.NET 实用工具加密凭据和会话状态连接字符串
  2. AC自动机 + 概率dp + 高斯消元 --- HDU 5955 or 2016年沈阳icpc H [AC自动机 + 概率dp + 高斯消元]详解
  3. 开放linux下mysql数据库3306端口
  4. Ironic 裸金属实例的部署流程
  5. go语言中没有隐藏的this指针
  6. 亚马逊 各国站点 链接_使用Amazon S3和HTTPS的简单站点托管
  7. Java List接口概述
  8. C++:执行i++时,汇编是怎么操作的
  9. lvs+keepalived实现lvs nat模式热备配置
  10. JavaScript汉字Unicode编码相互转换
  11. B00016 交换变量a和b的值
  12. RHEL 6.2 Error: Cannot create GC thread. Out of system resources.
  13. 南京大学计算机学院杨老师,南京大学计算机系名师风采_跨考网
  14. 各代iphone尺寸_iphone 各型号设备的屏幕尺寸
  15. 一个四维混沌吸引子曲线(matlab完整代码)
  16. 宝藏动植物元素矢量图素材,速来收藏
  17. 【Python】用字母生成图像
  18. MySQL34道例题
  19. ByRef和ByVal
  20. 基于Python可视化的卷积神经网络的城市感知评估系统

热门文章

  1. ios自定义UITextView 支持placeholder的方法
  2. [考试]20150903
  3. SDL2.0文档翻译
  4. Unity3D动画面板编辑器状态属性对照表
  5. [ZJOI2005]午餐
  6. xcode模拟器不显示键盘解决方案
  7. 学习思考之《编程之美》.
  8. atoi 原来将字符串02002xzm100转换为int以后是2002
  9. 大数据之-Hadoop3.x_MapReduce工作流程---大数据之hadoop3.x工作笔记0109
  10. Elasticsearch--分词-自定义扩展词库---全文检索引擎ElasticSearch工作笔记022