黑马程序员技术交流社区

标题: 关于Listiterator的小问题 [打印本页]

作者: 王莹    时间: 2012-6-30 18:29
标题: 关于Listiterator的小问题
本帖最后由 王莹 于 2012-6-30 19:13 编辑

以下是关于Listiterator的程序:

import java.util.*;
class NewTest
{
  public static void main(String[] args)
{
ArrayList al = new ArrayList();

  al.add("java01");
  al.add("java02");
  al.add("java03");
  sop(al);
  ListIterator li = al.listIterator();   
//a1是ArrayList类的对象,可是ArrayList并没有listIterator的方法,只有LinkedList有listIterator的方法,List中也没有listIterator方法,为什么可以调用呢?程序可以运行出结果,如下图所示
  while(li.hasNext())
  {
   Object obj = li.next();
   if(obj.equals("java02"))
    li.set("java006");

  }
  while(li.hasPrevious())
  {
   sop("pre::"+li.previous());
  }
  
  sop(al);
}
public static void sop(Object obj)
{
  System.out.println(obj);
}

}

运行结果如下:





作者: 马林康    时间: 2012-6-30 18:39
listIterator()  是list接口的方法{:soso_e101:}
作者: 闾丘日月    时间: 2012-6-30 18:39
还是好好看api吧。
作者: 黄连兵    时间: 2012-6-30 19:06
API可以找出你的答案,ArrayList继承自:类 AbstractList<E>
而AbstractList里是有:public ListIterator<E> listIterator()这个方法的~!
作者: 王莹    时间: 2012-6-30 19:13
黄连兵 发表于 2012-6-30 19:06
API可以找出你的答案,ArrayList继承自:类 AbstractList
而AbstractList里是有:public ListIterator list ...

好吧,我看API的时候没看到它是继承AbstractList类的,我一直以为它应该是List下面的某个子类,搞混了集合的概念了,谢谢你~~




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2