实现Java集合迭代的高性能
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/81042018 实现Java集合迭代的高性能 2018.7.14 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 一、介绍 Java开发者经常会遇到处理集合(比如ArrayList、HashSet)的情况,Java 8也提供了Lambda表达式和Streaming API来简化集合相关的工作。在大多数应用场景下,无需考虑集合迭代的性能消耗。但是,在一些极端情况下,比如集合包含了上百万条记录的情况,这个时候集合迭代就需要选择正确的姿势,否则性能会较差。 使用JMH检查下面每段代码片段的运行时间。 二、forEach vs. C Style vs. Stream API 迭代是一个非常基本的功能,所有的编程语言都有简单的迭代语法,允许程序员在集合上运行迭代。Stream API可以通过Collections用非常直接的方式进行迭代。 public List<Integer> streamSingleThre...