List遍历的几种方式

一、普通for循环遍历list

以往我们习惯使用for循环遍历数组或者List集合。在ArrayList遍历中,我们通常采用普通的 for 循环,通过 size() 来获取 ArrayList 的长度,然后使用 get(i) 方法来获取指定下标的元素。


List list = new ArrayList();
list.add("Apple");
list.add("Pear");
list.add("Peach");
for (int i = 0; i < list.size(); i++) {
    System.out.println(list.get(i));
}

由于ArrayList内部是一个数组来存储元素,所以用普通for循环遍历时,会随着元素增多而逐渐变慢,因为每次get有一次定位的过程,数组越长,定位时间越长。

二、增强for循环遍历list

jdk1.5之后增加了”增强for语法”,也称为 “foreach”。” 增强for循环可以遍历任何 collection 或者 数组,也称为 For-each 循环,语法如下:


List list = new ArrayList();
list.add("Apple");
list.add("Pear");
list.add("Peach");
for (String fruit : list) {
    System.out.println(fruit);
}

此时会直接取得元素值。

三、通过iterator循环来遍历list

基本步骤: 先让迭代器指向第一个元素,然后只要迭代器能够找到下一个元素就一直往下迭代。迭代器提供了remove() 方法,可以让程序员在迭代期间从 underlying collection 中 安全删除元素。

List list = new ArrayList();list.add("Apple");list.add("Pear");list.add("Peach");Iterator it = list.iterator();while (it.hasNext()) {    System.out.println(it.next());}

四、forEach方法遍历list

Java8对collection接口增加了一个forEach()方法,它有一个Consumer类的参数。该方法可以让我们通过Lambda表达式来遍历集合,使代码变得简洁易读。


List list = new ArrayList();
list.add("Apple");
list.add("Pear");
list.add("Peach");
list.forEach(fruit -> System.out.println(fruit));

五、高效的集合遍历方式

另一种比较高效的遍历方式是使用for each-loop中的变量进行遍历,可以使用流式编程进行效率优化。


List list = new ArrayList();
list.add("Apple");
list.add("Pear");
list.add("Peach");
list.stream().forEach(fruit -> System.out.println(fruit));

六、使用parallelStream方法遍历list

在使用Java 8中新增的方法parallelStream时,可以开启并行流遍历,加快集合遍历速度。parallelStream是在Stream中使用的,只有顺序存在依赖性才能被并行计算,stream与parallelStream的切换并不影响数据内容,只会影响遍历方式。


List list = new ArrayList();
list.add("Apple");
list.add("Pear");
list.add("Peach");
list.parallelStream().forEach(fruit -> System.out.println(fruit));

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/187495.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-28 06:22
下一篇 2024-11-28 06:22

相关推荐

  • Tensor to List的使用

    Tensor to List是TensorFlow框架提供的一个非常有用的函数,在很多的深度学习模型中都会用到。它的主要功能是将TensorFlow中的张量(Tensor)转换为P…

    编程 2025-04-29
  • Python遍历集合中的元素

    本文将从多个方面详细阐述Python遍历集合中的元素方法。 一、for循环遍历集合 Python中,使用for循环可以遍历集合中的每个元素,代码如下: my_set = {1, 2…

    编程 2025-04-29
  • Python如何遍历字典中的key和value

    本文将详细讲解Python中如何遍历字典中的key和value,包括多种遍历方式以及在遍历过程中的一些应用场景。 一、遍历字典中的key和value 在Python中,字典是一种无…

    编程 2025-04-29
  • Python数据类型分为哪几种

    Python作为一门非常灵活的编程语言,有着非常丰富的数据类型。Python的数据类型可以分为数字类型、字符串类型、列表类型、元组类型、字典类型和集合类型六种。 一、数字类型 Py…

    编程 2025-04-29
  • Python缓存图片的处理方式

    本文将从多个方面详细阐述Python缓存图片的处理方式,包括缓存原理、缓存框架、缓存策略、缓存更新和缓存清除等方面。 一、缓存原理 缓存是一种提高应用程序性能的技术,在网络应用中流…

    编程 2025-04-29
  • 如何使用Python将输出值赋值给List

    对标题进行精确、简明的解答:本文将从多个方面详细介绍Python如何将输出的值赋值给List。我们将分步骤进行探讨,以便读者更好地理解。 一、变量类型 在介绍如何将输出的值赋值给L…

    编程 2025-04-28
  • 使用PHP foreach遍历有相同属性的值

    本篇文章将介绍如何使用PHP foreach遍历具有相同属性的值,并给出相应的代码示例。 一、基础概念 在讲解如何使用PHP foreach遍历有相同属性的值之前,我们需要先了解几…

    编程 2025-04-28
  • Python在线编辑器的优势与实现方式

    Python在线编辑器是Python语言爱好者的重要工具之一,它可以让用户方便快捷的在线编码、调试和分享代码,无需在本地安装Python环境。本文将从多个方面对Python在线编辑…

    编程 2025-04-28
  • Python List查找用法介绍

    在Python中,list是最常用的数据结构之一。在很多场景中,我们需要对list进行查找、筛选等操作。本文将从多个方面对Python List的查找方法进行详细的阐述,包括基本查…

    编程 2025-04-28
  • 二叉树非递归先序遍历c语言

    本文将为您详细介绍二叉树的非递归先序遍历算法,同时提供完整的C语言代码示例。通过本文,您将了解到二叉树的先序遍历算法,以及非递归实现的方式。 一、二叉树的先序遍历算法介绍 在介绍二…

    编程 2025-04-28

发表回复

登录后才能评论