java Iterator、ListIterator 和 Enumeration的区别
时间:2018-11-14
本文章向大家介绍java Iterator、ListIterator 和 Enumeration的区别,需要的朋友可以参考一下
迭代器是一种设计模式, 它是一个对象, 它可以遍历并选择序列中的对象, 而开发人员不需要了解 该序列的底层结构。 迭代器通常被称为“轻量级”对象, 因为创建它的代价小。 Java中的Iterator功能比较简单, 并且只能单向移动: (1) 使用方法iterator()要求容器返回一个Iterator。 第一次调用Iterator的next()方法时, 它返回序列的第一个元素。 注意:iterator()方法是java.lang.Iterable接口 被Collection继承。 (2) 使用next()获得序列中的下一个元素。 (3) 使用hasNext()检查序列中是否还有元素。 (4) 使用remove()将迭代器新返回的元素删除。 Iterator是Java迭代器最简单的实现, 为List设计的ListIterator具有更多的功能, 它可以从两个方向遍历List, 也可以从List中插入和删除元素。 ------------- ListIterator的特点: 它的父类接口是Iterator, 名称是系列表迭代器, 允许程序员按任一方向遍历列表、 迭代期间修改列表, 并获得迭代器在列表中的当前位置。 ListIterator没有当前元素, 它的光标位置始终位于调用previous() 所返回的元素和调用next() 所返回的元素之间。 长度为n的列表的迭代器有n+1个 可能的指针位置。 ------------------ Enumeration的特点: API中是这样描述的, 它主要是和Vector结合配套使用。 另外此接口的功能与Iterator接口的功能是重复的, 此外,Iterator接口添加了 一个可选的移除操作, 并且使用较短的方法名。 新的实现应该优先 考虑使用Iterator接口 而不是Enumeration接口。 ----------------------- java中的集合类都提供了 返回Iterator的方法, 就是迭代器, 它和Enumeration的主要区别 其实就是Iterator可以删除元素, 但是Enumration却不能。
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释