在Java中从集合中检索元素(For-each、Iterator、ListIterator 和 EnumerationIterator)
先决条件: Java中的集合
以下是从集合对象中检索任何元素的 4 种方法:
对于每个
For each loop 用于遍历集合中的项目。
// Iterating over collection 'c' using for-each
for (Element e: c)
System.out.println(e);
我们将 for-each 循环中使用的 ':' 读作“in”。所以循环读作“对于元素中的每个元素e”,这里的元素是存储元素类型项目的集合。
注意:在使用 lambda 表达式的Java 8 中,我们可以简单地将 for-each 循环替换为
elements.forEach (e -> System.out.println(e) );
使用光标
游标是一个接口,用于从集合对象中逐一检索数据。光标有 3 种类型,如下所示:
迭代器接口:迭代器是集合框架提供的一个接口,用于遍历集合并用于对集合中的项目进行顺序访问。
// Iterating over collection 'c' using iterator
for (Iterator i = c.iterator(); i.hasNext(); )
System.out.println(i.next());
- 它有3种方法:
- boolean hasNext():如果迭代器有更多元素,此方法返回 true。
- elements next() :此方法返回迭代器中的下一个元素。
- void remove() :此方法从集合中删除迭代器返回的最后一个元素。
- ListIterator 接口:它是一个接口,包含从集合对象中检索元素的方法,包括正向和反向。此迭代器用于基于列表的集合。
它有以下重要方法:- booleanhasNext() :如果 ListIterator 在向前遍历列表时有更多元素,则返回 true。
- booleanhasPrevious() :如果 ListIterator 在反向遍历列表时有更多元素,则返回 true。
- element next() :返回列表中的下一个元素。
- element previous() :返回列表中的前一个元素。
- void remove() :这会从列表中删除 next() 或 previous() 方法返回的最后一个元素。
- int nextIndex()返回将由后续调用 next() 返回的元素的索引。 (如果列表迭代器位于列表末尾,则返回列表大小。)
- int previousIndex()返回将由后续调用 previous() 返回的元素的索引。 (如果列表迭代器位于列表的开头,则返回 -1。)
- EnumerationIterator 接口:该接口用于逐个检索元素。此迭代器基于来自 Enumeration 的数据并具有以下方法:
- booleanhasMoreElements() :此方法测试 Enumeration 是否有更多元素。
- element nextElement() :这将返回 Enumeration 中可用的元素中可用的下一个元素