Iterator与ListIterator

Iterator和ListIterator主要区别有:

一、ListIterator有add()方法,可以向List中添加对象,而Iterator不能

二、两者都有hasNext()和next()方法,可以实现顺序向后遍历。ListIterator有hasPrevious和previous()方法,可以实现逆向(向前)遍历Iterator不行

三、ListIterator可以定位当前索引位置,nextIndex()和previousIndex()可以实现,iterator没有此功能

四、都可实现删除对象,但是ListIterator可以实现对象的修改,set()方法可以实现

功能相差这么大的原因主要是listIterator是针对list的遍历对象较为确定,而iterator是使用与所有集合类型对象的遍历方式,使用对象差异性大,类的共性必定小的多

向前遍历的代码如下:

List<String> list = new LinkedList<String>();
ListIterator<String> listite = list.listiterator();
for(String str;listite.hasPrevious();)
{
    System.out.println(listite.previous().toString()+"");
}

猜你喜欢

转载自xiaoxiaoher.iteye.com/blog/2354479