课程咨询 :186 8716 1620      qq:2066486918

昆明Java培训 > 合作企业 > 企业笔试题 > 列表迭代器
  • 列表迭代器

    发布:昆明Java培训      来源:企业笔试题      时间:2016-02-15

  • 成都ATA中心--JSD1506--李培勇

    这周,我们学习了集合。我们知道,假如我们有一个ArrayList集合,并且已经添加了元素,那么在我们使用Iterator迭代器遍历集合时,是不能 使用集合的方法如add()等改变集合的,否则会出现 java.util.ConcurrentModificationException异常。我们可以使用Iterator的方法如remove()操作 集合,但是我们发现Iterator的提供的方法很少,如果我们有在遍历之时向集合中添加元素,修改元素,获得元素等的需求的时候,我们应该怎么办呢?这 里介绍一种方法,使用列表迭代器--ListIterator,废话不多说,直接上代码:

    package day04;

    import java.util.ArrayList;

    import java.util.Iterator;

    import java.util.List;

    import java.util.ListIterator;

    public class CollectionDemo2 {

    public static void main(String[] args) {

    List list = new ArrayList();

    list.add("my1");

    list.add("my2");

    list.add("my3");

    list.add("my4");

    ListIterator it = list.listIterator();//获取ListIterator迭代器

    while(it.hasNext()){//如果有下一个元素

    Object obj = it.next();

    if("my2".equals(obj)){//如果遍历到一个my2元素,执行下面的操作

    //it.add("java");//测试列表迭代器的add()方法:在它后面添加一个元素:java

    it.set("java");//测试列表迭代器set()方法:将它设置为:java

    }

    }

    System.out.println(list);//输出集合

    }

    }

    运行程序,可以看到结果是[my1,java,my3,my4]

    OK,相当给力,我们成功的改变了集合中的元素,这个迭代器在JAVA API的java.util包下的ListIterator接口中有介绍,已经可以满足我们增删改查的操作,而且其中有很多有趣的方法,比如正向遍历,逆向遍历等等,而且,List接口中,还有一个带参数的取得列表迭代器的重载方法:listIterator(int index),它可以让我们自己指定初始遍历的位置。

    推荐文章

上一篇:算法试题——树的深度、广度优先遍历算法及非递归

下一篇:昆明达内java学员:学习JAVA

最新开班日期  |  更多

Java--零基础全日制班

Java--零基础全日制班

开班日期:12/29

Java--零基础业余班

Java--零基础业余班

开班日期:12/29

Java--周末提升班

Java--周末提升班

开班日期:12/29

Java--零基础周末班

Java--零基础周末班

开班日期:12/29

  • 网址:http://km .java.tedu.cn      地址:昆明市官渡区春城路62号证券大厦附楼6楼
  • 课程培训电话:186 8716 1620      qq:2066486918    全国服务监督电话:400-827-0010
  • 服务邮箱 ts@tedu.cn
  • 2001-2016 达内国际公司(TARENA INTERNATIONAL,INC.) 版权所有 京ICP证08000853号-56