📜  在Java中从集合中检索元素(For-each、Iterator、ListIterator 和 EnumerationIterator)

📅  最后修改于: 2022-05-13 01:55:51.839000             🧑  作者: Mango

在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());
  1. 它有3种方法:
    • boolean hasNext():如果迭代器有更多元素,此方法返回 true。
    • elements next() :此方法返回迭代器中的下一个元素。
    • void remove() :此方法从集合中删除迭代器返回的最后一个元素。
  2. ListIterator 接口:它是一个接口,包含从集合对象中检索元素的方法,包括正向和反向。此迭代器用于基于列表的集合。
    它有以下重要方法:
    • booleanhasNext() :如果 ListIterator 在向前遍历列表时有更多元素,则返回 true。
    • booleanhasPrevious() :如果 ListIterator 在反向遍历列表时有更多元素,则返回 true。
    • element next() :返回列表中的下一个元素。
    • element previous() :返回列表中的前一个元素。
    • void remove() :这会从列表中删除 next() 或 previous() 方法返回的最后一个元素。
    • int nextIndex()返回将由后续调用 next() 返回的元素的索引。 (如果列表迭代器位于列表末尾,则返回列表大小。)
    • int previousIndex()返回将由后续调用 previous() 返回的元素的索引。 (如果列表迭代器位于列表的开头,则返回 -1。)
  3. EnumerationIterator 接口:该接口用于逐个检索元素。此迭代器基于来自 Enumeration 的数据并具有以下方法:
    • booleanhasMoreElements() :此方法测试 Enumeration 是否有更多元素。
    • element nextElement() :这将返回 Enumeration 中可用的元素中可用的下一个元素