美文网首页
工作笔记(五)

工作笔记(五)

作者: overflow_e4e4 | 来源:发表于2019-08-27 16:55 被阅读0次

Arrays.stream()的用法

Arrays.stream(),这个方法适用于把数组转换成stream然后方便对其进行stream的一系列处理。
比如:
Object[] objects= new Object[1]; Arrays.stream(objects).collect(Collectors.toList());
但是当数组为基础类型时,这样做不行。

int[] ints = new int[1];
Arrays.stream(ints).collect(Collectors.toList());

因为Arrays.stream其实是一个重载函数,他一共有四种

image.png
仅能接受四种数组,int[],long[],double[],T[]也就是说其他基础类型的数组比如 boolean[]也不能使用Arrays.stream()进行封装。

基础类型和对象类型数组使用时的区别

当用Arrays.stream()进行封装时,基础类型和对象类型数组是有区别的。具体区别,以int[]为例,如图所示:

int[]
T[]

Arrays.stream(int[]) 返回的是IntStream而不是Stream<T>。这也导致了由这两种数组返回的Stream其实在用法上有所区别。

用法上的区别

IntStream其实是专门用于数值计算的Stream,他提供了一些很好用的方法,比如:

  • sum()
  • max()
  • min()
  • average()
    这些方法方便我们更好的计算。
    举个例子:
        Integer[] integers = new Integer[10];
        for (int i = 0; i <10 ; i++) {
            ints[i] = i;
            integers[i] = i;

        }
        int sum1 = Arrays.stream(integers).reduce(0, (a, b) -> a + b);
        int sum2 = Arrays.stream(ints).sum();
        System.out.println(sum1);
        System.out.println(sum2);

Stream显然对数值的处理显得比较繁琐,而IntStream就简单的多。

如何互相转换

其实IntStreamStream完全可以互相转换,其转换方式如下所示。

IntStream intStream = Arrays.stream(integers).mapToInt(e -> e);
Stream<Integer> stream = Arrays.stream(ints).boxed();

同理,double,long也有对应的方法。

相关文章

  • 《好好思考》五星笔记法

    工作中学习思维模型的核心方法:五星笔记法,用当前章节学习整理一篇五星笔记。 五星笔记法的目的是: 工作中快速进步的...

  • 工作笔记(五)

    第五个工作笔记 1、 浏览器出错处理 错误类型:Error、RangeError、Reference和TypeEr...

  • 工作笔记五

    错误截图: 解决办法:将使用的组件开头字母改为大写 总结:react-native 封装的组件开头要大写

  • 工作笔记(五)

    Arrays.stream()的用法 Arrays.stream(),这个方法适用于把数组转换成stream然后方...

  • 《好好思考》读书笔记之五星笔记法

    关键词:五星笔记法 适用范围:阅读,听演讲,记录工作笔记,等所有需要记录笔记的范围。 关于5星笔记法的详细介绍: ...

  • 找工作笔记(五)

    周一晚上九点多,小孙的大婶给我打电话,问我们在哪里住,工作找的如何了。原来她看到我在朋友圈里发的下雪的图片,知道我...

  • 未来笔记:让未来现在就来

    1、记笔记与工作有五方面的紧密联系 小西利行的著作《高效人士用超级笔记术》,是一本只与工作相关的笔记术,全书讲述了...

  • 2021-05-27模型:五星笔记法

    模型:五星笔记法 用途:“五星笔记法”,用笔记挖掘隐性知识! 所谓“五星笔记法”,就是每次做笔记之前,先画出一个五...

  • 开发笔记目录查看

    笔记一: 笔记二: 笔记三: 笔记四: 笔记五: 笔记六:

  • 高效人士用超级笔记术

    《高效人士用超级笔记术》 1、笔记与做好工作的整理、设定、考察、发现和指示这五方面有着紧密的联系,做好这五个方面能...

网友评论

      本文标题:工作笔记(五)

      本文链接:https://www.haomeiwen.com/subject/khieectx.html