Collectors.counting() 野性酷女 2021-09-22 02:36 221阅读 0赞 ## Collectors.counting() ## > `Java 8` 流的新类 `java.util.stream.Collectors` 实现了 `java.util.stream.Collector` 接口,同时又提供了大量的方法对流 ( `stream` ) 的元素执行 `map` `and` `reduce` 操作,或者统计操作。 `Collectors.counting()` 用于统计流中元素的个数。 **可以发现,返回值是Long类型** * 侧面可以看出,里面为什么会高效的统计出如此庞大的数据? * 使用的是什么原理? * 还是用了什么算法? * 值得深思与深究…… ### collectingExample测试 ### @Test public void collectingExample() { List<Integer> list = Arrays.asList(1, 2, 3, 4); Long result = list.stream().collect(Collectors.counting()); System.out.println(result); } ### collectingExample结果 ### 4 **一点唠叨:** * 相对于`Collectors.averagingDouble()`来说,方法体只执行一次。 * 相对于`Collectors.averagingDouble()`来说,方法体做出了优化 * 相对于`Collectors.averagingDouble()`来说,这个没有坑 * …… * 为什么这么提`Collectors.averagingDouble()`,最好看一下—> [**averagingDouble**][averagingDouble] * 因为`Collectors.averagingDouble()`有坑,有坑,有坑 [averagingDouble]: https://blog.csdn.net/L_fly_J/article/details/120083849
还没有评论,来说两句吧...