元素迭代的历史
上次修改时间:2024 年 7 月 16 日
在本文中,我们将探讨 Java 中元素迭代的历史。
在编程中,最常见的任务之一是迭代数据集合。本教程展示了元素迭代如何随着时间的推移在 Java 语言中演变。
枚举 (Enumeration)
在 Java 的早期,Enumeration
用于迭代数据元素。Enumeration
接口定义了枚举(一次获取一个元素)集合中元素的方法。两个主要的集合类是 Vector
和 Hashtable
。
如今,Enumeration
、Vector
和 Hashtable
被认为是过时的。然而,它们并没有被弃用。
import java.util.Enumeration; import java.util.Vector; void main() { Vector items = new Vector(); items.add("coin"); items.add("pen"); items.add("chair"); items.add("lamp"); items.add("cup"); items.add("spoon"); Enumeration itemsEn = items.elements(); while (itemsEn.hasMoreElements()) { System.out.println(itemsEn.nextElement()); } }
我们有一个字符串向量。我们使用 Enumeration
循环遍历向量的元素。
Enumeration itemsEn = items.elements();
elements
方法返回向量的 Enumeration
。
while (itemsEn.hasMoreElements()) { System.out.println(itemsEn.nextElement()); }
这些元素在 while 循环中被遍历。当还有更多元素要提取时,hasMoreElements
返回 true
;当所有元素都被枚举后,返回 false
。
迭代器 (Iterator)
Java 1.2 引入了标准集合类(List
、Set
、Map
)和 Iterator
。Iterator
带来了迭代器设计模式,这是一种常见的行为模式,用于以顺序方式访问集合对象的元素,而无需了解其底层表示。
import java.util.Iterator; import java.util.List; void main() { List<String> items = List.of("coin", "ball", "lamp", "spoon"); Iterator it = items.iterator(); while (it.hasNext()) { System.out.println(it.next()); } }
在示例中,我们使用 Iterator
循环遍历元素列表。
List<String> items = Arrays.asList("coin", "ball", "lamp", "spoon");
我们使用 Arrays.asList
方法在一行中定义一个列表。
Iterator it = items.iterator();
我们使用 iterator
方法从列表中获取迭代器。
while (it.hasNext()) { System.out.println(it.next()); }
我们在 while 循环中遍历元素列表。我们使用迭代器的 hasNext
和 next
方法。
Iterable 和增强型 for 循环
Java 5 引入了泛型、Iterable
和增强型 for 循环。Iterable
接口允许对象成为增强型 for 循环语句的目标。Iterable
是一个包含一系列可以迭代的元素的对象。它有一个生成 Iterator
的方法。
import java.util.List; void main() { List<String> items = List.of("coin", "ball", "lamp", "spoon"); for (String item: items) { System.out.println(item); } }
该示例使用增强型 for 循环来遍历列表元素。迭代器的创建以及对 hasNext
和 next
方法的调用不是显式的,但它们仍然在幕后发生。
Java forEach 方法
Java 8 引入了 forEach
方法。forEach
方法对 Iterable
的每个元素执行给定的操作,直到所有元素都被处理完毕或者该操作抛出异常。
forEach
方法使用内部迭代器,而以前的方法使用外部迭代器。
import java.util.List; void main() { List<String> items = List.of("coin", "ball", "lamp", "spoon"); items.forEach(System.out::println); }
在该示例中,我们使用 forEach
方法循环遍历元素。
来源
在本文中,我们回顾了 Java 中元素迭代的简要历史。
作者
列出所有Java教程。