Iterator及Enumeration

Java提供一种方法访问一个容器(Container)对象中的各个元素,而又不需要暴露对象的内部细节,这就是Iterator(迭代器)。所有的Collection元素都可以用Iterator迭代器来获取元素,Vector等类还可以用Enumeration迭代器来列举元素。与Enumeration相比,Iterator可以采用remove()方法删除元素,而Enumeration没有此功能。所以Iterator功能强大,使用起来也更方便。

Iterator类的常用方法如下

Iterator类的常用方法
方法声明 方法功能
public boolean hasNext() 判断是否还有下一个元素,若有返回true否则返回false
public Object next() 返回当前列表的下一个元素
public void remove() 删除最近一次next方法或previous方法所返回的元素

注意:Iterator只能实现单向检索

对于List类,可以通过它的listIterator()方法来取得其迭代器ListIterator。它具有双向检索的功能,而且除了Iterator具有的以上3个方法外,ListIterator类的其他常用方法如下

ListIterator类的其他常用方法
方法声明 方法功能
public boolean hasPrevious() 判断是否有前一个元素
public Object previous() 返回当前列表的上一个元素
public void add(Object obj) 在当前位置之前加入元素obj
pubic void set(Object obj) 将当前位置的元素替换为obj
public int nextIndex() 返回下一个元素的索引
pubic int previousIndex() 返回前一个元素的索引

对于Vector类,可以通过其elements()方法返回一个Enumeration接口,Enumeration接口的两个主要方法如下

Enumeration接口的两个主要方法
方法声明 方法功能
public boolean hasMoreElement() 判断是否还有元素,若有返回true,否则返回false
public Object nextElement() 返回下一个元素

猜你喜欢

转载自blog.csdn.net/SongBai1997/article/details/83042273