zoukankan      html  css  js  c++  java
  • Java基础学习总结(55)——java8新特性:stream

    java作为开发语言中的元老已经度过了很多年,最新的java8为我们带来了一些新特性,这些特性可以在以后的工作中为我们的开发提供更多的便捷,现在就让我们看看最新的函数式编程风格怎么在实际的开发中使用。

    原本在java中遍历集合也许你会使用以下代码:

    面试必知的java8新特性-stream上面的代码没有什么问题也可以正常运行,只不过略显繁琐,在java8中我们还可以这样使用:

    面试必知的java8新特性-streamjava8以前要统计list内的数据个数必须使用外部迭代的形式来操作,for循环其实是调用迭代接口进行 迭代而已,而java给我们提供了通过stream的方式简化操作,计数操作只需要直接调用stream的过滤操作后计数即可。

    上面只是简单介绍了stream的filter方法,其实stream还提供了map、flatMap、max、min等方法

    map提供了将list内数据转换的功能。数据转换在java8之前通常我们会将一个list内的数据转换后放入另一个list,现在在java8里我们只需要这么做:

    面试必知的java8新特性-stream上图转换只需要一行代码就搞定了。

    flatMap从字面意思和map很像,只不过可以将多个stream合并为一个stream再进行操作,flatMap方法返回值必须为stream。大概意思如下:

    面试必知的java8新特性-stream

    Max和Min方法就是通过stream找出比较出list内最大值和最小值,如下:

    面试必知的java8新特性-stream如上所示,我们可以很方便的得出最大值和最小值,是不是很简便呢,基本操作就介绍到这里啦,希望对大家有所帮助!

  • 相关阅读:
    对MFC文档、视图、框架的理解
    MFC中快速将CVIew转换成CScrollView
    MFC中的一个错误
    单文档中视图与文档的相互
    python函数
    python模块介绍和引入
    python面向对象和面向过程
    python数据类型2
    python数据类型
    python无法使用input功能
  • 原文地址:https://www.cnblogs.com/zhanghaiyang/p/7212916.html
Copyright © 2011-2022 走看看