List集合特有的迭代器,ListIterator是Iterator的子接口
在迭代时,不可以通过集合对象的方法操作集合中的元素。
因为会发生并发修改异常。
所以,迭代时,只能用迭代器的方法操作元素,可是Iterator方法是有限的。
只能进项删除 判断取出操作
如果需要添加 修改等操作,就需要使用其子类接口Listiterator
Listerator只能通过ListIterator获取
import java.util.*;
/*
boolean hasPrevious()
如果以逆向遍历列表,列表迭代器有多个元素,则返回 true。
E previous()
返回列表中的前一个元素。
*/
class demo
{
public static void main(String [] args)
{
ArrayList al=new ArrayList();
al.add("java02");
al.add("java03");
al.add("java04");
sop("原集合 :"+al);
ListIterator lit=al.listIterator();
// sop("hasPrevious " +lit.hasPrevious());
while(lit.hasNext())
{
Object obj=lit.next();
if(obj.equals("java03"))
{
lit.set("java05");
}
}
while(lit.hasPrevious())
{
sop("previous :"+lit.previous());
}
// sop("hasNext "+lit.hasNext());
// sop("hasPrevious " +lit.hasPrevious());
sop("改变后集合 ;"+al);
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}