Stream的好处

1、Stream AP的引入弥补了JAVA函数式编程的缺陷。
2、Stream相比集合类占用内存更小:集合类里的元素是存储在内存里的,Stream里的元素是在访问的时候才
被计算出来。(有点类似懒加载、延迟计算)
3、Stream可以创建无穷个数的集合。

代码示例

    class NumSupplier implements Supplier<Long> {
long value = 0; public Long get() {
this.value = this.value + 1;
return this.value;
}
} /**
* 无穷集合
*/
public static void numTest(){
Stream<Long> natural = Stream.generate(new NumSupplier());
natural.map((x) -> {
return x * x;
}).skip(2).limit(20).forEach(System.out::println);
        //转list stream has already been operated upon or closed
List<Long> collect = natural.collect(Collectors.toList());
}

Stream的方法

1、filter() 元素筛选
2、map() 元素变换/操作
3、forEach() 元素遍历

代码示例

    /**
* Stream Test
*/
public static void streamTest(){
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
Stream<Integer> stream = numbers.stream();
stream.filter(a->{
a += 10;
return a > 15;
}).map(a -> {
return a * a;
}).forEach(System.out::println);
}

  

最新文章

  1. (七)Maven使用的最佳实践
  2. python高级之操作数据库
  3. WAP端 穿透问题和解决方法
  4. 织梦5.7 TAG、标题、栏目以及keywords长度字符数限制修改
  5. DotNetBar RibbonControl 控件动态添加项
  6. VS2010编译Qt5.4.0静态库
  7. springmvc+hibernate入门-揭开神秘的面纱
  8. Python 全栈开发 -- 监控篇
  9. 微信小程序开发《三》:微信小程序请求不能使用session的原因及解决办法
  10. Spring 了解Bean的一生(生命周期)
  11. Analyze a docker instance start failure
  12. python pip 不能用报错: ImportError: No module named _internal
  13. 基于curl的异步http实现
  14. Phaser Matter Collision Plugin 碰撞插件 -- iFiero技术分享
  15. scvmm2008 错误 2921 0x8007054F
  16. select下拉箭头改变,兼容ie8/9
  17. 微信小程序如何在使用wx.request使用cookie
  18. oracle10g Error in invoking target &#39;install&#39; of makefile
  19. 多线程&amp;&amp;I/O
  20. systemtap如何写C函数 捎带着看看ret kprobe怎么用

热门文章

  1. CSS常见技巧
  2. 深入学习HBase架构原理
  3. swift 可选类型(optional)--- swift 入门
  4. 面向未来的友好设计:Future Friendly
  5. Linux 中优秀的文本化编辑思想大碰撞(Markdown、LaTeX、MathJax)
  6. Linux C++ 开发简介
  7. .NET应用程序与数据库交互的若干问题
  8. python中的默认参数
  9. javascript中的浮点数运算
  10. 字符串转化为Json格式的数据--(记录四)