How to Iterate List in Java2025年4月26日 | 阅读 4 分钟 在 Java 中,List 是 **Collection 框架** 的一个接口。它允许我们维护一个对象的有序集合。List 接口的实现类有 **ArrayList、LinkedList、Stack** 和 **Vector**。ArrayList 和 LinkedList 在 Java 中被广泛使用。在本节中,我们将学习 **如何在 Java 中迭代 List**。在本节中,我们将使用 **ArrayList**。 Java for 循环
Java 迭代器
Java forEach 方法
Java for 循环基本 for 循环Java for 循环 是最常见的迭代流程控制循环。for 循环包含一个充当索引号的变量。它会执行直到整个 List 都被迭代完。 语法 IterateListExample1.java 输出 Boston San Diego Las Vegas Houston Miami Austin 增强 for 循环它类似于基本 for 循环。它简洁、易用且可读性强。它被广泛用于遍历 List。与基本 for 循环相比,它更容易使用。 语法 IterateListExample2.java 输出 Boston San Diego Las Vegas Houston Miami Austin Java 迭代器IteratorJava 提供了一个 Iterator 接口 来 **迭代** 集合,例如 List、Map 等。它包含 next() 和 hasNaxt() 两个关键方法,允许我们对 List 进行迭代。 next(): next() 方法以正向顺序执行迭代。它返回 List 中的下一个元素。如果迭代不包含 List 中的下一个元素,则抛出 **NoSuchElementException**。此方法可以重复调用以遍历列表,或者与 previous() 调用混合使用以向前和向后移动。 语法 hasNext(): hasNext() 方法帮助我们查找 List 的最后一个元素。它检查 List 是否还有下一个元素。如果在正向遍历过程中 hasNext() 方法获取到元素,则返回 true,否则返回 false 并终止执行。 语法 IterateListExample3.java 输出 Boston San Diego Las Vegas Houston Miami Austin ListIteratorListIterator 也是一个属于 java.util 包的接口。它扩展了 **Iterator<E>** 接口。它允许我们沿正向或反向顺序迭代 List。沿 List 的正向迭代提供了与 Iterator 相同的机制。我们使用 Iterator 接口的 next() 和 hasNext() 方法来迭代 List。 IterateListExample4.java 输出 Boston San Diego Las Vegas Houston Miami Austin Java forEach 方法Iterable.forEach()Iterable 接口提供了 forEach() 方法来迭代 List。它自 Java 8 起可用。它对每个元素执行指定的操作,直到所有元素都被处理完毕,或者操作抛出异常。它也接受 Lambda 表达式作为参数。 语法 默认实现的行为类似于 它接受 **action** 作为参数,该参数是 **非干扰性** 的(意味着在流管道执行期间数据源根本不会被修改)操作,用于处理元素。如果指定的 action 为 null,则抛出 **NullPointerException**。 Consumer<T> 是一个函数式接口,可以用作 lambda 表达式或方法引用的赋值目标。T 是操作的输入类型。它表示一个接受单个输入参数且不返回结果的操作。 IterateListExample5.java 输出 Boston San Diego Las Vegas Houston Miami Austin Stream.forEach()Java Stream 接口允许我们将 List 值转换为流。借助 Stream 接口,我们可以访问 forEach()、map() 和 filter() 等操作。 语法 它接受 **action** 作为参数,该参数是 **非干扰性** 的(意味着在流管道执行期间数据源根本不会被修改)操作,用于处理元素。 Consumer<T> 是一个函数式接口,可以用作 lambda 表达式或方法引用的赋值目标。T 是操作的输入类型。它表示一个接受单个输入参数且不返回结果的操作。 IterateListExample5.java 输出 Boston San Diego Las Vegas Houston Miami Austin 下一个主题Java 多维数组 |
在 Java 中,ListNode 是用于高效实现链表的重要数据结构。链表是动态数据结构,由节点组成,每个节点包含一个值以及指向列表中下一个节点的引用。本文旨在提供...
5 分钟阅读
旋转矩阵是计算机科学中的一个常见问题,尤其是在图形和图像处理领域。有不同的方法可以旋转矩阵,其时间和空间复杂度各不相同。在这里,我们将讨论如何将矩阵顺时针旋转 90 度...
7 分钟阅读
当今的应用需要出色的并发管理以及可扩展性和快速响应能力。根据当今应用程序的要求,响应式编程已成为一种处理异步数据流的解决方案。这种方法允许应用程序与实时事件一起工作……
阅读 6 分钟
? 在 Java 编程世界中,构造函数是用于初始化对象的特殊方法。当使用 new 关键字创建对象时,会调用它们,并且它们负责设置对象的初始状态。构造函数通常是公共的,并且与...
阅读 3 分钟
给出了一个整数数组。数组中有一些重复的元素。我们的任务是按出现频率的降序返回给定元素的一个数组或列表。换句话说,出现频率最高的元素……
阅读9分钟
序列化是将数据结构(如二叉树)转换为可以存储或传输然后稍后重新构造的格式的过程。反序列化是相反的过程,其中序列化格式被转换回原始数据结构。对于二叉树,...
阅读 15 分钟
在计算机科学和编程领域,矩阵操作是一个基本概念,在图形、图像处理和科学计算等各个领域都有应用。一个有趣且常见的矩阵操作是水平翻转。在本节中,我们将讨论水平...
5 分钟阅读
给定一个整数 k 和一个整数数组 num,任务是确定一个“好”子数组的最大得分。子数组的长度 (j - i + 1) 乘以其中的最小值决定了其得分。子数组的开始和结束...
5 分钟阅读
编程通过使用算术函数(包括加、减、乘、除和模运算)来处理现实世界的问题。Java 的面向对象特性允许开发人员将算术运算放入方法中,从而更容易实现代码的可重用性和可理解性。在本节中,我们将创建 Java 程序来...
5 分钟阅读
? Java 程序经常需要解析日期和时间,尤其是那些涉及计划、事件管理和数据分析的程序。LocalDate、LocalTime、LocalDateTime 和 DateTimeFormatter 类只是 Java 中用于处理日期和时间的类和方法中的一部分。要分解日期和...
阅读 4 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India