如何在 Java 中创建列表迭代器?

javaobject oriented programmingprogramming更新于 2025/1/2 9:16:17

我们可以利用 List 接口的 listIterator() 方法,该方法除了 Iterator 接口提供的常规操作外,还允许元素插入和替换以及双向访问。

语法

ListIterator<E> listIterator()

返回此列表中元素的列表迭代器(按正确顺序)。

示例

以下是显示 listIterator() 方法用法的示例 −

package com.tutorialspoint;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.ListIterator;

public class CollectionsDemo {
   public static void main(String[] args) throws CloneNotSupportedException {
      List<Integer> list = new ArrayList<>(Arrays.asList(1,2,3,4,5));
      System.out.println(list);
      ListIterator<Integer> iterator = list.listIterator();

      // 使用 listIterator 修改列表
      while(iterator.hasNext()){
         Integer item = iterator.next();
         iterator.set(item * item);
      }
      System.out.println(list);

      // 允许删除元素
      iterator = list.listIterator();
      while(iterator.hasNext()){
         Integer item = iterator.next();
         if(item % 2 == 0) {
            iterator.remove();
         }
      }
      System.out.println(list);

      // 允许添加元素
      iterator = list.listIterator();
      while(iterator.hasNext()){
         Integer item = iterator.next();
         if(item % 5 == 0) {
            iterator.add(36);
         }
      }
      System.out.println(list);
   }
}

输出

这将产生以下结果 −

[1, 2, 3, 4, 5]
[1, 4, 9, 16, 25]
[1, 9, 25]
[1, 9, 25, 36]

相关文章


有用资源