A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王莹 中级黑马   /  2012-6-30 18:29  /  1851 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 王莹 于 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);
}

}

运行结果如下:




4 个回复

正序浏览
黄连兵 发表于 2012-6-30 19:06
API可以找出你的答案,ArrayList继承自:类 AbstractList
而AbstractList里是有:public ListIterator list ...

好吧,我看API的时候没看到它是继承AbstractList类的,我一直以为它应该是List下面的某个子类,搞混了集合的概念了,谢谢你~~
回复 使用道具 举报
API可以找出你的答案,ArrayList继承自:类 AbstractList<E>
而AbstractList里是有:public ListIterator<E> listIterator()这个方法的~!
回复 使用道具 举报
还是好好看api吧。
回复 使用道具 举报
listIterator()  是list接口的方法{:soso_e101:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马