java:集合输出之Iterator和ListIterator二

ListIterator是Iterator的子接口,Iterator的最大特点是,能向前,或向后迭代。如果现在要想双向输出的话,则只能使用ListIterator接口,此接口有一个要求,即只能输出List接口里面的内容。因此用到public ListIterator<E> extends Iterator<E>:

add(E e): 增加数据

boolean hasNext(); 继承Iterator ,下一个元素是否存在,

next(); 继承Iterator,获取下一个元素内容

previous();继承Iterator,获取上一个元素内容

remove();删除 下一个或上一个元素

set(E e);用指定元素替换下一个或上一个元素内容;

	// TODO 自动生成的方法存根

		List<String> allList = new ArrayList<String>();
allList.add("A");
allList.add("B");
allList.add("C");
allList.add("D");
allList.add("E"); ListIterator<String> iter = allList.listIterator();
System.out.println("向前输出");
while(iter.hasNext())
{
//向前输出
System.out.println(iter.next() + "、"); }
//向后输出
System.out.println("向后输出");
while(iter.hasPrevious())
{
System.out.println(iter.previous());
}

  

输出结果:

向前输出
A、
B、
C、
D、
E、
向后输出
E
D
C
B
A

  

如果想要双向输出,则首先一定要保证先执行由前向后的输出操作。单独执行向后输出,是没有内容输出的。

在使用ListIterator接口的时候,还有最大一个特点,可以增加修改数据。

List<String> allList = new ArrayList<String>();
allList.add("A");
allList.add("B");
allList.add("C");
allList.add("D");
allList.add("E"); ListIterator<String> iter = allList.listIterator(); //增加数据,此方法只有由前向后输出才有新增加的值
iter.add("X"); System.out.println("向前输出");
while(iter.hasNext())
{
//再此修改的数据,也只有由前向后输出的内容才有
String str = iter.next();
iter.set(str + " - drw");
//向前输出
System.out.print( str + "、"); }
//向后输出
System.out.println("\n向后输出");
while(iter.hasPrevious()) {
System.out.print(iter.previous()+"、");
}

  结果为:

向前输出
A、B、C、D、E、
向后输出
E - drw、D - drw、C - drw、B - drw、A - drw、X、

  

java:集合输出之Iterator和ListIterator二的更多相关文章

  1. java:集合输出之Iterator和ListIterator

    在调用Iterator集合输出时,如果想要删除某个元素,请直接使用Iterator来判断元素是否存在然后再删除(next()当前指针内容,remove()删除当前内容 );如果在将集合丢给Iterat ...

  2. Java中的集合(十五) Iterator 和 ListIterator、Enumeration

    Java中的集合(十五) Iterator 和 ListIterator.Enumeration 一.Iterator (一).简介 Iterator 是一个接口,它是集合的迭代器.集合可以通过Ite ...

  3. java:集合输出之foreach输出三

    java:集合输出之foreach输出三 foreach输出: List<String> allList = new ArrayList<String>(); allList. ...

  4. java:集合输出Iterator,ListIterator,foreach,Enumeration

    //集合输出,集合的四种输出 Iterator, ListIterator, foreach, Enumeration 只要碰到集合,第一输出选择是Iterator类. Iterator<E&g ...

  5. Java 迭代接口:Iterator、ListIterator 和 Spliterator

    1. 简介 当我们使用 for 或 while 循环来遍历一个集合的元素,Iterator 允许我们不用担心索引位置,甚至让我们不仅仅是遍历一个集合,同时还可以改变它.例如,你如果要删除循环中的元素, ...

  6. Java 集合系列(四)—— ListIterator 源码分析

    以脑图的形式来展示Java集合知识,让零碎知识点形成体系 Iterator 对比   Iterator(迭代器)是一种设计模式,是一个对象,用于遍历集合中的所有元素.  Iterator 包含四个方法 ...

  7. Java集合类中的Iterator和ListIterator的区别

    注意:内容来自网络他人文章! 最近看到集合类,知道凡是实现了Collection接口的集合类,都有一个Iterator方法,用于返回一个实现了Iterator接口的对象,用于遍历集合:(Iterato ...

  8. 初识Java集合框架(Iterator、Collection、Map)

    1. Java集合框架提供了一套性能优良.使用方便的接口和类,它们位于java.util包中 注意: 既有接口也有类,图中画实线的是类,画虚线的是接口 使用之前须要到导入java.util包 List ...

  9. java-Collection集合、List集合、Vector集合和迭代器Iterator、ListIterator的使用

    1.对象数组的概述和使用 * A:案例演示 * 需求:我有5个学生,请把这个5个学生的信息存储到数组中,并遍历数组,获取得到每一个学生信息. * Student[] arr = new Student ...

随机推荐

  1. python 中文路径

    ipath = 'D:/学习/语料库/SogouC.mini/Sample/C000007/10.txt' uipath = unicode(ipath , "utf8")

  2. C#正则的使用

    c#使用正则表达式要用到System.Text.RegularExprssions命名空间 官方API Regex类是用于匹配表达式: 通常Regex分为静态类和实例化俩种方式.那这俩种有什么区别呢, ...

  3. LeetCode算法题-Magic Squares In Grid(Java实现)

    这是悦乐书的第326次更新,第349篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第196题(顺位题号是840).3 x 3魔方是一个3 x 3网格,填充了从1到9的不同 ...

  4. Vijos lxhgww的奇思妙想--求K级祖先

    给出一棵树求K级祖先.O(N*logN+Q) 更详细的讲解见:https://www.cnblogs.com/cjyyb/p/9479258.html /* 要求k级祖先,我们可以把k拆成" ...

  5. python 并发编程 多进程 JoinableQueue

    JoinableQueue和Queue 使用一样 这就像是一个Queue对象,但队列允许项目的使用者通知生成者项目已经被成功处理.通知进程是使用共享的信号和条件变量来实现的. JoinableQueu ...

  6. C语言Ⅰ博客作业01

    1.你对计算机科学与技术专业了解是怎样? 本专业培养具有良好的科学素养,系统地.较好地掌握计算机科学与技术包括计算机硬件.软件与应用的基本理论.基本知识和基本技能与方法,能在科研部门.教育单位.企业. ...

  7. js Functor Copy

    原文地址:https://segmentfault.com/a/1190000006051586?utm_source=tuicool&utm_medium=referral 本处仅仅个人存档 ...

  8. word定义多级列表

    1.单击开始选项卡里的多级列表按钮,在下拉列表中选择定义新的多级列表 2.先设置第一级编号,选择阿拉伯数字1,2,3,...,并在自动编号“1”的左右分别输入“第”“章”,级别链接到样式选择标题一 3 ...

  9. MinGW的安装

    我在MinGW官网下载到的版本是mingw-w64-install.exe,不过这差不多是一年以前的事了……   安装路径:D:\Program Files (x86)\mingw-w64\i686- ...

  10. Java——自定义外部字体文件

    package chapter1; import javax.swing.*;import java.awt.*;import java.io.IOException;import java.io.I ...