Java 中 List 的 7 种遍历方式 及 性能对比

这篇具有很好参考价值的文章主要介绍了Java 中 List 的 7 种遍历方式 及 性能对比。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

List<Integer> list = new ArrayList<>();
int n = 10000_0000;
for (int i = 0; i < n; i++) {
    list.add(i);
}

遍历方式

# for i 循环
for (int i = 0; i < list.size(); i++) {
    list.get(i);
}

# 增强for循环
for (int item : list) {
}

# iterator for 循环
for (Iterator<Integer> iterator = list.iterator(); iterator.hasNext(); ) {
    iterator.next();
}

# iterator while 循环
Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()) {
    iterator.next();
}

# list.forEach 循环
list.forEach(item -> {
});

# list.stream().forEach 循环
list.stream().forEach(item -> {
});

# list.parallelStream().forEach 循环
 list.parallelStream().forEach(item -> {
 });

10000_0000次循环性能比较

循环类型 第1轮 第2轮 第3轮 第4轮 第5轮
for i 循环 : 75 ms, 6.08% : 53 ms, 8.62% : 68 ms, 10.64% : 54 ms, 8.39% : 53 ms, 6.79%
增强for循环 : 146 ms, 11.83% : 149 ms, 24.23% : 164 ms, 25.67% : 185 ms, 28.73% : 163 ms, 20.90%
iterator for 循环 : 56 ms, 4.54% : 54 ms, 8.78% : 58 ms, 9.08% : 56 ms, 8.70% : 77 ms, 9.87%
iterator while 循环 : 55 ms, 4.46% : 56 ms, 9.11% : 56 ms, 8.76% : 56 ms, 8.70% : 55 ms, 7.05%
list.forEach 循环 : 555 ms, 44.98% : 115 ms, 18.70% : 111 ms, 17.37% : 109 ms, 16.93% : 130 ms, 16.67%
list.stream().forEach 循环 : 143 ms, 11.59% : 115 ms, 18.70% : 108 ms, 16.90% : 107 ms, 16.61% : 112 ms, 14.36%
list.parallelStream().forEach 循环 : 203 ms, 16.45% : 71 ms, 11.54% : 71 ms, 11.11% : 73 ms, 11.34% : 187 ms, 23.97%

参考

Java 中 List 的5种遍历方式文章来源地址https://www.toymoban.com/news/detail-695833.html

到了这里,关于Java 中 List 的 7 种遍历方式 及 性能对比的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Java】List集合去重的方式

    TreeSet可以将字符串类型的数据按照字典顺序进行排序,首字母相同则看第二位 去重前的集合元素:22 去重前的集合元素:11 去重前的集合元素:33 去重前的集合元素:66 去重前的集合元素:22 去重后的集合:[11, 22, 33, 66] 由于Set的特性是无序且不可重复,我们利用这个特性进

    2024年02月04日
    浏览(67)
  • Java List集合取交集的八种不同实现方式

    码到三十五 : 个人主页 心中有诗画,指尖舞代码,目光览世界,步履越千山,人间尽值得 ! 在Java中,取两个List集合的交集可以通过多种方式实现,包括使用Java 8的Stream API、传统的for循环遍历、使用集合的retainAll方法,以及使用Apache Commons Collections库等。 方法一:使用Jav

    2024年04月12日
    浏览(36)
  • 使用java8 新特性stream流对List<Map<String, Object>>集合进行遍历、过滤、查询、去重、排序、分组

    对于一个ListMapString, Object类型的数据,可以使用Java 8的新特性stream流来进行遍历、过滤、查询、去重、排序、分组等操作。 遍历: 过滤: 查询: 去重: 排序: 分组:

    2024年02月10日
    浏览(69)
  • Java使用不同方式获取两个集合List的交集、补集、并集(相加)、差集(相减)

    首先知道几个单词的意思: 并集 = union 交集 = intersection 补集 = complement 析取 = disjunction 减去 = subtract 对于两个给定集合A、B,由两个集合所有元素构成的集合,叫做A和B的并集。 记作:AUB 读作“A并B” 例:{3,5}U{2,3,4,6}= {2,3,4,5,6} 对于两个给定集合A、B,由属于A又属于B的所有元

    2024年01月22日
    浏览(57)
  • Java List对象集合转Json & Json转List对象集合

    使用了阿里巴巴的 fastjson  首先引入依赖 示例如下 输出结果:

    2024年02月15日
    浏览(57)
  • 遍历List集合

    最基础的遍历方式:for循环,指定下标位置,使用 List 集合的 get(i) 方法来获取元素。

    2024年02月07日
    浏览(31)
  • Java集合之List

    ①.add(Object element) 向列表的尾部添加指定的元素。 ②.size() 返回列表中的元素个数。 ③.get(int index) 返回列表中指定位置的元素,index从0开始。  ④.add(int index, Object element) 在列表的指定位置(从0开始)插入指定元素 ⑤.set(int i, Object element) 使用元素element替换索引i位置的元素

    2024年02月15日
    浏览(41)
  • Java 集合 - List 接口

    在 Java 中, java.util.List 接口是 Java 集合框架中的一个接口,它继承自 Collection 接口,是单列集合的一个重要分支。List 接口的常见实现类包括 ArrayList 、 LinkedList 和 Vector 。 List 接口特点如下: 有序性 : List 中的元素是按照插入顺序排序的,因此可以很容易地遍历 List 中的元

    2024年02月07日
    浏览(61)
  • Java集合-List

    java.util.List 接口继承自Collection接口,是单列集合的一个重要分支,习惯性地会将实现了List接口的对象称为List集合,在List集合中允许出现重复的元素,所有的元素是以一种线性方式进行存储的,在程序中可以通过索引来访问集合中的指定元素,另外List集合还有一个特点就是

    2024年02月13日
    浏览(40)
  • Java List集合

    List系列集合:添加的元素是有序,可重复,有索引 ArrayList : 添加的元素是有序,可重复,有索引 LinkedList : 添加的元素是有序,可重复,有索引 Vector :是线程安全的,速度慢,开发中很少使用 6.1 List集合概述和特点 List集合概述 1、有序集合(也称为序列),用户可以精确控制

    2024年02月06日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包