亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> java

掌握 Java ListIterator 接口:双向遍历与列表操作实战指南

Java ListIterator 接口

ListIterator 扩展 Iterator,支持双向遍历,可在 List 中前后移动并即时修改元素。

核心功能包括导航、移除、替换元素,是 Java 开发者处理列表的必备工具。


ListIterator 核心方法

示例 1:向前导航

演示 next()、nextIndex()、hasNext():

import java.util.ArrayList;
import java.util.ListIterator;
class Main {
    public static void main(String[] args) {
        ArrayList<Integer> numbers = new ArrayList<>();
        numbers.add(1);
        numbers.add(3);
        numbers.add(2);
        System.out.println("ArrayList: " + numbers);
        ListIterator<Integer> iterator = numbers.listIterator();
        int first = iterator.next();
        System.out.println("Next Element: " + first);
        int nextIndex = iterator.nextIndex();
        System.out.println("Position of Next Element: " + nextIndex);
        System.out.println("Is there any next element? " + iterator.hasNext());
    }
}

输出

ArrayList: [1, 3, 2]
Next Element: 1
Position of Next Element: 1
Is there any next element? true

示例 2:向后导航

演示 previous() 和 previousIndex(),先调用两次 next():

import java.util.ArrayList;
import java.util.ListIterator;
class Main {
    public static void main(String[] args) {
        ArrayList<Integer> numbers = new ArrayList<>();
        numbers.add(1);
        numbers.add(3);
        numbers.add(2);
        System.out.println("ArrayList: " + numbers);
        ListIterator<Integer> iterator = numbers.listIterator();
        iterator.next();
        iterator.next();
        int prev = iterator.previous();
        System.out.println("Previous Element: " + prev);
        int prevIndex = iterator.previousIndex();
        System.out.println("Position of the Previous element: " + prevIndex);
    }
}

输出

ArrayList: [1, 3, 2]
Previous Element: 3
Position of the Previous Element: 0

迭代器初始位于首元素之前,直接调 previous() 会抛异常。两次 next() 后位于 3 与 2 之间,故 previous() 返回 3。

java

  1. 掌握 C# 接口:定义、实现与实战场景全解析
  2. 精通 Java 运算符:类型、语法与实战示例
  3. Java 注释:类型、用法与最佳实践
  4. 精通 Java if…else:控制流全解析
  5. 精通 Java 接口:概念、实现与最佳实践
  6. 精通 Java Try-With-Resources:自动资源管理详解
  7. Java 注解详解:类型、放置位置与实战示例
  8. 掌握 Java NavigableSet 接口:导航、排序与实战示例
  9. 掌握 Java Lambda 表达式:从基础到 Stream API 实战
  10. Java 接口 vs 抽象类:如何选择合适的抽象方式
  11. Java 接口全解析:定义契约、默认方法、多实现与标记接口
  12. Java 9 接口私有方法:增强封装与代码复用