美国上市公司,专注Java培训21年

列表迭代器,让你自由操作集合


成都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),它可以让我们自己指定初始遍历的位置。


【免责声明】本文部分系转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,如涉及作品内容、版权和其它问题,请在30日内与我们联系,我们会予以重改或删除相关文章,以保证您的权益!

Java开发高端课程免费试学

大咖讲师+项目实战全面提升你的职场竞争力

  • 海量实战教程
  • 1V1答疑解惑
  • 行业动态分析
  • 大神学习路径图

相关推荐

更多
  • 一个故事讲完https
    一个故事讲完https
    感谢大家阅读由java培训机构分享的“一个故事讲完https”希望对大家有所帮助 详情>>

    2017-08-31

  • GitHub 上火的 Java 框架
    GitHub 上火的 Java 框架
    Java 是目前最需要的编程语言之一。在这里,我们已经挖掘了一些关于框架趋势的有用信息,也就是最受开发者青睐的 Java 框架,名单如下 详情>>

    2017-10-24

  • Java入门学习路径,没有之一
    Java入门学习路径,没有之一
    作为刚刚进入Java领域的新同学,无论是高校的毕业大学生,还是有志转行的在职人员,都面临着诸多的困惑。今天java培训班就来为大家讲解下Java入门学习路径 详情>>

    2017-11-23

  • java初学者学习心得
    java初学者学习心得
    学习了一学期的Java课程,觉得是该总结自己的心得体会了。开始学习任何一门课(包括java),兴趣最重要。下面请看java培训机构带来的分享 详情>>

    2017-12-12

  • Java开班时间

    收起