Lamda的深入认知(八)

主题:原始数值流

一、需求

  1. 基于拆装箱的成本考虑
  2. 提供特定的数值计算API,简化使用。

二、种类

  1. IntStream
  2. LongStream
  3. DoubleStream

三、转化手段

  1. Stream<T> 使用mapToInt,mapToLong,mapToDouble
  2. 原始数值流,使用boxed,mapToObject

三、demo:

int maxLen= Arrays.asList("abc","d","cdef","xyidfd","ab","")
                .stream()
                .mapToInt(String::length)
                .max()
                .getAsInt();

一个转化的例子

        Arrays.asList(2,3,1)
                .stream()//Stream<Integer>
                .mapToInt(Integer::valueOf)//IntStream
                .boxed()//重新转化为Stream<Integer>
                .mapToLong(i->Long.valueOf(Integer.valueOf(i)))//LongStream
                .mapToObj(Date::new)//Stream<Date>
                .forEach(s-> System.out.println(s));
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Stream 允许你以声明性方式处理数据集合,流还可以透明地并行处理,你就无需写任何多线程代码了。和迭代器类似,流...
    PawsUp阅读 4,312评论 0 3
  • 转自: Java 8 中的 Streams API 详解 为什么需要 Stream Stream 作为 Java ...
    普度众生的面瘫青年阅读 7,947评论 0 11
  • 1.数值流   我们在前面看到了可以使用reduce方法计算流中元素的总和。例如,你可以像下面这样计算菜单的热量:...
    琼珶和予阅读 4,798评论 0 0
  • 第一章 为什么要关心Java 8 使用Stream库来选择最佳低级执行机制可以避免使用Synchronized(同...
    谢随安阅读 5,364评论 0 4
  • Stream是Java 8 提供的高效操作集合类(Collection)数据的API。 1. 从Iterator到...
    nkcoder阅读 10,936评论 2 24

友情链接更多精彩内容