Java 中的 Iterator 迭代器函数

首页 / Java入门教程 / Java 中的 Iterator 迭代器函数

通常,您将需要循环浏览集合中的元素,例如,您可能要显示每个元素。最简单的方法是使用迭代器,是实现Iterator或ListIterator接口的对象。

Iterator 方法

Sr.No.Method & Remark
1

boolean hasNext()

如果有更多元素,则返回true。否则,返回false。

2

Object next()

返回下一个元素。如果没有下一个元素,则抛出NoSuchElementException。

3

void remove()

删除当前元素。如果尝试在未调用next()的情况下调用remove(),则抛出IllegalStateException。

ListIterator 方法

Sr.No.Method & Remark
1

void add(Object obj)

将obj插入到元素的列表中,该元素将由下次调用next()返回。

无涯教程网

2

boolean hasNext()

如果存在下一个元素,则返回true。否则,返回false。

3

boolean hasPrevious()

如果存在上一个元素,则返回true。否则,返回false。

4

Object next()

返回下一个元素。如果没有下一个元素,则抛出NoSuchElementException。

5

int nextIndex()

返回下一个元素的索引。如果没有下一个元素,则返回列表的大小。

6

Object previous()

链接:https://www.learnfk.comhttps://www.learnfk.com/java/java-using-iterator.html

来源:LearnFk无涯教程网

返回上一个元素。如果没有上一个元素,则抛出NoSuchElementException。

7

int previousIndex()

返回上一个元素的索引。如果没有上一个元素,则返回-1。

8

void remove()

从列表中删除当前元素。如果在调用next()或previous()之前调用remove(),则抛出IllegalStateException。

9

void set(Object obj)

将obj分配给当前元素。这是对next()或previous()的调用最后返回的元素。

Iterator 示例

这里演示Iterator和ListIterator的示例。它使用ArrayList对象,但是一般原则适用于任何类型的集合。

当然,ListIterator仅适用于实现List接口的那些集合。

import java.util.*;
public class IteratorDemo {

   public static void main(String args[]) {
      // 创建数组列表
      ArrayList al = new ArrayList();
      
      // 将元素添加到数组列表
      al.add("C");
      al.add("A");
      al.add("E");
      al.add("B");
      al.add("D");
      al.add("F");

      // 使用迭代器显示al的内容
      System.out.print("Original contents of al: ");
      Iterator itr = al.iterator();
      
      while(itr.hasNext()) {
         Object element = itr.next();
         System.out.print(element + " ");
      }
      System.out.println();
      
      // 修改被迭代的对象
      ListIterator litr = al.listIterator();
      
      while(litr.hasNext()) {
         Object element = litr.next();
         litr.set(element + "+");
      }
      System.out.print("Modified contents of al: ");
      itr = al.iterator();
      
      while(itr.hasNext()) {
         Object element = itr.next();
         System.out.print(element + " ");
      }
      System.out.println();

      // 现在,向后显示列表
      System.out.print("Modified list backwards: ");
      
      while(litr.hasPrevious()) {
         Object element = litr.previous();
         System.out.print(element + " ");
      }
      System.out.println();
   }
}

这将产生以下输出-

Original contents of al: C A E B D F
Modified contents of al: C+ A+ E+ B+ D+ F+
Modified list backwards: F+ D+ B+ E+ A+ C+

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

SQL必知必会 -〔陈旸〕

JavaScript核心原理解析 -〔周爱民〕

编程高手必学的内存知识 -〔海纳〕

深入剖析Java新特性 -〔范学雷〕

朱涛 · Kotlin编程第一课 -〔朱涛〕

eBPF核心技术与实战 -〔倪朋飞〕

说透低代码 -〔陈旭〕

后端工程师的高阶面经 -〔邓明〕

结构思考力 · 透过结构看思考 -〔李忠秋〕

好记忆不如烂笔头。留下您的足迹吧 :)