`
李灵晖-raylee
  • 浏览: 135696 次
博客专栏
Group-logo
从头认识java
浏览量:0
文章分类
社区版块
存档分类
最新评论

从头认识java-9.6 ListIterator的双向迭代

 
阅读更多

这一章节我们来简单讨论一下ListIterator。

ListIterator主要就是补充了Iterator只能向后的问题,在ListIterator里面可以向前移动。

package com.ray.ch09;

import java.util.ArrayList;
import java.util.ListIterator;

public class Test {
	public static void main(String[] args) {
		ArrayList<Integer> arrayList = new ArrayList<Integer>();
		for (int i = 0; i < 10; i++) {
			arrayList.add(i);
		}
		ListIterator<Integer> iterator = arrayList.listIterator();
		while (iterator.hasNext()) {
			Integer rtn = iterator.next();
			System.out.print(rtn);
		}
		System.out.println();
		while (iterator.hasPrevious()) {
			Integer rtn = iterator.previous();
			System.out.print(rtn);
		}
	}
}


输出:

0123456789
9876543210

注意:在使用iterator.previous()前必须检测iterator.hasPrevious()的真假,不然在第一个元素还没有压入迭代器的时候,会抛异常。

总结:这一章节简单讲述了ListIterator的双向迭代。

这一章节就到这里,谢谢。

-----------------------------------

目录

分享到:
评论

相关推荐

    java基础 集合-22-迭代器设计模式

    在Java编程语言中,集合框架是处理对象数组的核心部分,而迭代器设计模式则是访问集合元素的主要机制。本文将深入探讨Java中的迭代器模式及其在集合框架中的应用。 迭代器模式是一种行为设计模式,它提供了一种方法...

    Java学习之Iterator(迭代器)的一般用法

    与普通的`Iterator`相比,`ListIterator`支持双向遍历,即不仅可以向前迭代,也可以向后迭代。此外,`ListIterator`还提供了额外的方法,如`add()`,允许在迭代过程中向列表中添加新元素。 以下是一个使用`...

    java体系结构之迭代器模式.rar

    6. **Java集合框架中的迭代器**:除了基础的`Iterator`接口,Java还提供了`ListIterator`,它增加了`hasPrevious()`,`previous()`,`nextIndex()`和`previousIndex()`等方法,专为列表设计。 7. **迭代器模式与...

    java 迭代及迭代器的小例子

    除了基本的迭代器,Java集合框架还提供了不同类型的迭代器,例如ListIterator,它专为列表设计,支持双向迭代和位置操作。ListIterator有`hasPrevious()`、`previous()`等方法,可以向前或向后遍历列表。 此外,...

    java 1. 泛型 2. 队列 3. 栈 4. Iterator 和 ListIterator迭代器

    java 1. 泛型 2. 队列 3. 栈 4. Iterator 和 ListIterator迭代器

    java-大数据基础面试思考.pdf

    迭代器是Java集合框架中非常重要的一个接口,它允许遍历集合中的元素。快速失败(Fail-Fast)迭代器机制是指在用迭代器遍历集合的过程中,如果检测到集合在迭代过程中被修改了,就会迅速抛出...

    java-lecture.rar_The Information

    8. **集合框架**:Java集合框架提供了各种数据结构,如List(ArrayList, LinkedList)、Set(HashSet, TreeSet)和Map(HashMap, TreeMap)等,以及Iterator和ListIterator迭代器。 9. **输入输出(I/O)**:Java的...

    Java-Java集合体系-List-Set

    特有的ListIterator接口提供了双向遍历的能力。ArrayList是List接口的常用实现类,它基于动态扩展的数组实现,提供高效随机访问,但插入和删除元素相对耗时。 二、ArrayList类 ArrayList类是ArrayList接口的主要...

    java中Iterator和ListIterator实例详解

    Iterator 和 ListIterator 是 Java 中两个重要的迭代器接口,用于遍历集合中的元素。下面我们将详细介绍这两个接口的作用范围、关系、方法和使用实例。 Iterator 和 ListIterator 的作用范围和关系 Iterator 是一...

    java使用ListIterator对List遍历时添加修改删除​

    在Java编程中,`ListIterator`是`List`接口提供的一种特殊的迭代器,它具有双向遍历的能力,不仅可以向前遍历列表,还可以向后遍历。`ListIterator`还提供了在遍历过程中添加、修改和删除元素的功能,使得对列表的...

    java Iterator迭代器的使用

    除了`Iterator`的方法,`ListIterator`还提供了`hasPrevious()`、`previous()`、`nextIndex()`和`previousIndex()`等方法,支持双向遍历,并能方便地插入元素。 7. **总结** `Iterator`是Java集合框架的核心,使得...

    迭代器模式.rar之java设计模式

    此外,Java还提供了一些特殊类型的迭代器,如`ListIterator`,它可以双向遍历列表,并提供了`add()`、`previous()`等额外的方法。`ListIterator`通常用于需要在迭代过程中修改列表的场景。 总结来说,迭代器模式在...

    java-coding-exercises:Udemy编程课程的练习和笔记

    listIterator用于迭代下一个和上一个轨道 子类中用于实现父类方法的重写 Java内部类 Java抽象类不能用于创建对象的受限类 Java泛型在类型上增加了一层抽象,以减少错误 Java Access修饰符私有-仅在类内,默认-仅在包...

    Android设计模式之--迭代器模式

    在Java或Android编程中,我们经常使用ArrayList、LinkedList等集合类,它们都提供了迭代器接口来实现这一模式。 在Android设计模式中,迭代器模式的主要作用是分离了聚合对象(如数组、列表)与遍历它的方法。这样...

    java使用listIterator逆序arraylist示例分享

    在Java编程中,`ListIterator` 是一个比普通 `Iterator` 更加强大的迭代器,它专用于列表接口的实现类,如 `ArrayList`、`LinkedList` 等。`ListIterator` 提供了更多的操作方法,使得我们可以方便地在列表中进行前...

    java-collection-example

    老版本Java中的枚举接口,用于遍历集合,与迭代器类似,但功能有限,已被迭代器取代。 6. 链表遍历(ListIterator): 对于List接口,可以使用ListIterator,它提供双向遍历,可以向前或向后移动,还有`add()`...

    JAVA中ListIterator和Iterator详解与辨析(推荐)

    ListIterator和Iterator是JAVA集合中两个重要的迭代器,都是用于遍历集合中的元素的。但是它们之间存在着一些关键的区别。 首先,Iterator迭代器包含的方法有:hasNext()、next()、remove()。hasNext()方法用于判断...

    仿std&&list;的iterator迭代器

    首先,我们要知道迭代器有几种类型:输入迭代器、输出迭代器、前向迭代器、双向迭代器和随机访问迭代器。`std::list`的迭代器是双向迭代器,因为可以在链表中前后移动。双向迭代器支持`++it`(前移)和`--it`(后移...

    Java应用:两种Java容器类List和Set分析

    ### Java应用:两种Java容器类List和Set分析 #### 一、概述 在Java编程语言中,集合框架(Collections Framework)是处理数据的核心组件之一,它提供了存储和操作对象的各种方式。本文将深入探讨Java中的两种重要...

    关于List集合特有的迭代器的反向遍历

    Listiterator迭代器的方向遍历,在反向遍历时 源码中 index中的初值需要在定义的时候传入size集合长度 或者通过正向遍历,将nextIndex的值变为集合的长度 然后public boolean hasPrevious() { return nextIndex &gt; 0...

Global site tag (gtag.js) - Google Analytics