java:集合输出之Iterator和ListIterator二
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二的更多相关文章
- java:集合输出之Iterator和ListIterator
在调用Iterator集合输出时,如果想要删除某个元素,请直接使用Iterator来判断元素是否存在然后再删除(next()当前指针内容,remove()删除当前内容 );如果在将集合丢给Iterat ...
- Java中的集合(十五) Iterator 和 ListIterator、Enumeration
Java中的集合(十五) Iterator 和 ListIterator.Enumeration 一.Iterator (一).简介 Iterator 是一个接口,它是集合的迭代器.集合可以通过Ite ...
- java:集合输出之foreach输出三
java:集合输出之foreach输出三 foreach输出: List<String> allList = new ArrayList<String>(); allList. ...
- java:集合输出Iterator,ListIterator,foreach,Enumeration
//集合输出,集合的四种输出 Iterator, ListIterator, foreach, Enumeration 只要碰到集合,第一输出选择是Iterator类. Iterator<E&g ...
- Java 迭代接口:Iterator、ListIterator 和 Spliterator
1. 简介 当我们使用 for 或 while 循环来遍历一个集合的元素,Iterator 允许我们不用担心索引位置,甚至让我们不仅仅是遍历一个集合,同时还可以改变它.例如,你如果要删除循环中的元素, ...
- Java 集合系列(四)—— ListIterator 源码分析
以脑图的形式来展示Java集合知识,让零碎知识点形成体系 Iterator 对比 Iterator(迭代器)是一种设计模式,是一个对象,用于遍历集合中的所有元素. Iterator 包含四个方法 ...
- Java集合类中的Iterator和ListIterator的区别
注意:内容来自网络他人文章! 最近看到集合类,知道凡是实现了Collection接口的集合类,都有一个Iterator方法,用于返回一个实现了Iterator接口的对象,用于遍历集合:(Iterato ...
- 初识Java集合框架(Iterator、Collection、Map)
1. Java集合框架提供了一套性能优良.使用方便的接口和类,它们位于java.util包中 注意: 既有接口也有类,图中画实线的是类,画虚线的是接口 使用之前须要到导入java.util包 List ...
- java-Collection集合、List集合、Vector集合和迭代器Iterator、ListIterator的使用
1.对象数组的概述和使用 * A:案例演示 * 需求:我有5个学生,请把这个5个学生的信息存储到数组中,并遍历数组,获取得到每一个学生信息. * Student[] arr = new Student ...
随机推荐
- Python学习之==>有依赖关系的接口开发
一.接口需求 1.登录接口 (1)登录成功后将session信息存入redis数据库并设置失效时间为600秒 (2)构造返回结果的对象flask.make_response() (3)产生cookie ...
- 我在DBGridEh增加一栏复选框及对应操作的解决方案
最近客户有个需求,要求对单据列表里指定的单据进行批量审核,很自然的,我想到了在DBGridEh增加一栏复选框的列,审核时遍历所有单据,将打了勾的单据审核就可以了.查阅了网上很多文章,不外有2个方案,1 ...
- Ehlib好用的版本
EhLib 6.2
- oracle ogg 单实例双向-新增表,修改表结构(oracle-oracle
--新增inset测试--dept 表结构orcl,ogg都存在,数据相同(但是rep1配置文件没有添加) SCOTT@ orcl ,'hongquan','BBA'); row created. S ...
- mount挂载相关指令
最近需要重新挂载一块数据盘,增加挂载设置,遇到一些问题做下记录. step1:df -h 或 lsblk 查看分区挂载和对应挂载的目录 /dev/xxx /data step2:umount /dev ...
- yum 下载rpm包 安装rpm包依赖关系
方法一:yumdownloader 工具 1.安装工具包 yum install yum-utils -y 2.下载一个RPM包 yumdownloader <package-name> ...
- HTML——超级链接 表格 框架
- 应用安全 - Web安全 - 远程控制管理工具 - 汇总
菜刀 蚁剑 冰蝎 DarkCommet ADT windows/upexec/reverse_tcp set PEXEC xxx
- 7.安装pycharm----导入Nmap模块----netcat反向shell----metasploitable靶机环境
安装pycharm www.jetbrains.com/pycharm/ tar -zxvf p补全 ls cd p补全 ls cd bin ls ./pycharm.sh 新建项目 pythonRo ...
- 学习kettle遇到的问题
一. 解决mysql连接缺少驱动问题:http://www.mamicode.com/info-detail-1724584.html 1.下载驱动 https://dev.mysql.com/dow ...