1,ListIterator接口与Itreator接口的区别。

2,使用限制。

定义如下:

public interface ListIterator<E>extends Iterator<E>

常用方法:

虽然此接口可以实现双向输出,但是collection接口并没有为此类定义实例化的操作。

只要List接口中才存在ListIterator接口的实例化操作。

范例:完成双向输出:

package 类集;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class test1{
public static void main(String args[]){
List<String> all = new ArrayList<String>() ;
all.add("hello") ;
all.add("_") ;
all.add("world") ;
ListIterator<String> iter = all.listIterator() ;
System.out.print("由前向后输出:") ;
while(iter.hasNext()){
String str = iter.next() ;
System.out.print(str + "、") ;
}
System.out.print("\n由后向前输出:") ;
while(iter.hasPrevious()){
String str = iter.previous() ;
System.out.print(str + "、") ;
}
}
};

输出结果;

由前向后输出:hello、_、world、
由后向前输出:world、_、hello、

但是,这个一定要注意一个事情:

一定要先由前到后,之后才能进行有后到前操作。反过来就不行!这点要注意

使用ListIterator接口还可以进行增加和替换操作。

add();

set();

package 类集;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class test1{
public static void main(String args[]){
List<String> all = new ArrayList<String>() ;
all.add("hello") ;
all.add("_") ;
all.add("world") ;
ListIterator<String> iter = all.listIterator() ;
System.out.print("由前向后输出:") ;
while(iter.hasNext()){
String str = iter.next() ;
System.out.print(str + "、") ;
iter.set("LI - " + str) ; // 修改内容
}
System.out.print("\n由后向前输出:") ;
iter.add("LXH");
while(iter.hasPrevious()){
String str = iter.previous() ;
System.out.print(str + "、") ;
}
}
};

输出结果:

由前向后输出:hello、_、world、
由后向前输出:LXH、LI - world、LI - _、LI - hello、

总结:

如果要想使用ListIterator接口,必须通过List接口完成。

2,如果要想进行双向输出,只能先进先由前到后,再由后到前

最新文章

  1. Prism 轻量级可扩展代码高亮库.
  2. 实体写到redis写不进去--误把类当成实体类
  3. (一)u-boot-nand.bin的下载
  4. TweenMax动画库学习(一)
  5. html5 video.js 使用及兼容所有浏览器
  6. HDOJ 3622 - Bomb Game 2-sat+二分....细心...
  7. python中的异常如何处理
  8. ORACLE单字符函数的函数
  9. Variation of e.touches, e.targetTouches and e.changedTouches
  10. C语言_了解下结构体指针
  11. 【状压dp】Bzoj2064 分裂
  12. loj6077
  13. linux中查看http各种状态数量
  14. Linux下的文件系统2
  15. SpringCloud服务负载均衡实现原理02
  16. GO语言的进阶之路-初探GO语言
  17. 秒秒钟提高办公技巧的6个Excel技巧
  18. Android开发环境内容汇总
  19. Linux常用命令的命名来源
  20. unicat,multicast,broadcast区别

热门文章

  1. tet
  2. 【夯实PHP基础】PHP的date函数
  3. 源映射(Source Map)详解
  4. JS高程3.基本概念(6)函数
  5. Jquery中的Ajax
  6. jquery弹出下拉列表插件(实现kindeditor的@功能)
  7. 天津政府应急系统之GIS一张图(arcgis api for flex)讲解(七)地图打印模块
  8. VS2015下编译64位GDAL总结
  9. C++序列化、反序列化
  10. EditText 显示明文和密码