public int indexOf(Object o) {
ListIterator<E> it = listIterator();
if (o==null) {
while (it.hasNext())
if (it.next()==null)
return it.previousIndex();
} else {
while (it.hasNext())
if (o.equals(it.next()))
return it.previousIndex();
}
return -1;
ListIterator<E> it = listIterator();
if (o==null) {
while (it.hasNext())
if (it.next()==null)
return it.previousIndex();
} else {
while (it.hasNext())
if (o.equals(it.next()))
return it.previousIndex();
}
return -1;
}
nextIndex() 和 previousIndex(), 开始迭代之前,it.nextIndex()=0,previousIndex()=-1. 根据对next() 和previous()的定义,执行一次it.netx(),游标都加一。 执行一次it.previous(),游标都减一。
这段程序向前遍历,(执行it.next()),执行一次: it.nextIndex()=1,it.previous()=0;
本文详细介绍了List迭代器中的nextIndex()和previousIndex()方法的使用方式及其原理。通过一个具体的Java代码示例,解释了如何利用这些方法来遍历列表元素,并查找特定元素的位置。
799

被折叠的 条评论
为什么被折叠?



