`
cakin24
  • 浏览: 1387433 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

List集合的迭代神器ListIterator

    博客分类:
  • java
阅读更多

一 ListIterator迭代器的概述

ListIterator与Iterator接口不同,它不仅可以向后迭代,它还可以向前迭代。

ListIterator相对Iterator增加了如下3个方法:

boolean hasPrevious():返回该迭代器关联的集合是否还有上一个元素。

Object previous():返回该迭代器的上一个元素。

void add():在指定位置插入一个元素。

 

二 ListIterator迭代器的应用

1 代码示例

import java.util.*;

public class ListIteratorTest
{
	public static void main(String[] args)
	{
		String[] books = {
			"十万个为什么", "photoshop完全自学教程",
			"教你如何炒股"
		};
		List bookList = new ArrayList();
		for (int i = 0; i < books.length ; i++ )
		{
			bookList.add(books[i]);
		}
		ListIterator lit = bookList.listIterator();
		while (lit.hasNext())
		{
			System.out.println(lit.next());
			lit.add("++++++++++分隔符++++++++++");
		}
		System.out.println("=======下面开始反向迭代=======");
		while(lit.hasPrevious())
		{
			System.out.println(lit.previous());
		}
	}
}

2 运行结果

十万个为什么
photoshop完全自学教程
教你如何炒股
=======下面开始反向迭代=======
++++++++++分隔符++++++++++
教你如何炒股
++++++++++分隔符++++++++++
photoshop完全自学教程
++++++++++分隔符++++++++++
十万个为什么

3 代码说明

该代码先通过hasNext正向迭代集合,然后使用hasPrevious反向迭代集合,其中还用到add方法向集合中添加元素。

分享到:
评论

相关推荐

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

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

    仿std&&list;的iterator迭代器

    `std::list`的迭代器是双向迭代器,因为可以在链表中前后移动。双向迭代器支持`++it`(前移)和`--it`(后移)操作,以及`it++`和`it--`的增量和减量运算符。 仿制`std::list`的迭代器,我们需要定义一个类,包含...

    java 迭代及迭代器的小例子

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

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

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

    集合框架练习.doc

    通过使用 listIterator() 方法可以获取 List 集合的迭代器,然后使用 hasNext() 方法检查是否还有下一个元素,如果有,则使用 next() 方法获取该元素,并使用 equals() 方法检查是否等于"abc",如果等于,则使用 ...

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

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

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

    对于`List`这样的有序集合,Java还提供了更强大的`ListIterator`接口。与普通的`Iterator`相比,`ListIterator`支持双向遍历,即不仅可以向前迭代,也可以向后迭代。此外,`ListIterator`还提供了额外的方法,如`add...

    @Validated验证List集合的方法示例

    @Validated验证List集合的方法示例 在实际开发中,我们经常会遇到需要验证List集合的场景,而@Validated注解只能验证单个实体类,无法直接验证List集合。那么,如何实现List集合的验证呢?下面我们将通过示例代码,...

    java中Iterator和ListIterator实例详解

    ListIterator 是一个特殊的迭代器接口,专门用于遍历 List 类型的集合。 从源码或 API 文档中可以看出,Iterator 是 ListIterator 的父类,ListIterator 扩展了 Iterator 的功能。 迭代器隐式游标位置实例分析 在...

    list遍历集合源码

    在编程领域,集合是数据组织的基本形式之一,而List接口是Java中集合框架的重要组成部分。List接口继承自Collection,它代表一个有序的元素序列,允许重复元素,并且提供了索引访问。本文将深入探讨List接口及其相关...

    集合+泛型.docx

    List 接口是 Java 中的一种集合接口,用于存储有序的集合。List 接口的特点是: 1. 数据有序 2. 允许存放重复元素 List 接口提供了许多有用的方法,例如: * `listIterator()`: 返回列表元素的列表迭代器(按适当...

    day04集合.pdf

    `ListIterator`是`List`集合特有的迭代器,通过调用`List`的`listIterator()`方法获得。它可以沿任何方向遍历列表,并在遍历过程中修改列表,同时还可以获取当前迭代器的位置。 #### 5.2 示例代码 下面是一个简单的...

    Java中Set&List的迭代器实现步骤解析

    在Java中,Set和List是两种常用的集合类型,它们都可以使用迭代器来遍历其元素。 在Java中,Set和List的迭代器实现步骤主要包括以下几个步骤: 1. 创建迭代器对象:在使用迭代器之前,需要创建一个迭代器对象。...

    java中List集合及其实现类的方法详解

    9. `listIterator()`: 返回该列表的列表迭代器。 10. `subList(int fromIndex, int toIndex)`: 返回该列表的一个视图,该视图包含从 fromIndex 到 toIndex 的所有元素。 ArrayList 的方法 ArrayList 是 List 集合...

    14.Python中的迭代器协议1

    ListIterator Protocol是Python中的一种特殊的迭代器协议,它是List类型的迭代器协议。ListIterator Protocol提供了`next()`方法来获取下一个元素,并且可以通过`__iter__()`方法来获取迭代器对象。 在Python中,...

    java Iterator迭代器的使用

    为了避免这种问题,通常建议在迭代时不要直接修改集合,或者使用`ListIterator`的`add()`方法添加元素。 6. **`ListIterator`与`Iterator`的区别** `ListIterator`是`Iterator`的一个子接口,专门为`List`类型的...

    设计模式的迭代器模式的例子

    在Java、C#等面向对象语言中,迭代器模式被广泛应用于容器类,如ArrayList、LinkedList等,使得我们可以方便地遍历集合中的所有元素。 迭代器模式的主要组件包括: 1. **聚合对象(Aggregate)**:包含一组相关或...

    迭代器的用法

    除了基本的`hasNext()`和`next()`方法,有些集合类的迭代器还提供了额外的功能,例如`ListIterator`,它可以双向移动,并且提供`previous()`方法,允许从后向前遍历列表。 7. **性能考虑**: 迭代器的设计旨在...

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

    在软件工程中,迭代器模式允许我们遍历一个集合对象的所有元素,而无需暴露集合的内部结构。这种模式将遍历操作与集合对象本身分离,使得我们可以使用不同的方式遍历同一个集合,或者对不同的集合进行遍历。 在Java...

    [传智播客]Java基础视频教程之集合框架1【14节课】.txt

    该视频课件包括java基础集合框架之迭代器、List集合、ListIterator、Vector、ArrayList、LinkedList及HashSet等,详细课程内容如下&gt;&gt;

Global site tag (gtag.js) - Google Analytics