Java集合中迭代器

Posted admindu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java集合中迭代器相关的知识,希望对你有一定的参考价值。

Java迭代器

 

迭代器的作用:就是用于抓取集合中的元素。

迭代器的方法:


hasNext() 问是否有元素可遍历。如果有元素可以遍历,返回true,否则返回false 。
next() 获取元素...
remove() 移除迭代器最后一次返回 的元素

NoSuchElementException 没有元素的异常。 
出现的原因: 没有元素可以被迭代了。。。

 

复制代码
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class Demo01 {

    public static void main(String[] args) {
        Collection c1=new ArrayList() ;
        c1.add("狗娃");
        c1.add("狗剩");
        c1.add("铁蛋");
     c1.add("美美"); Iterator it =c1.iterator(); while (it.hasNext()) { System.out.println("元素是:"+it.next()); } } }
复制代码

输出结果:

元素是:狗娃
元素是:狗剩
元素是:铁蛋

元素是:美美

Q:   Iterator()方法返回是一个接口类型,为什么接口又可以调用方法使用呢?

A:   iterator实际上返回的是接口Iterator的实现类。

remove方法:移除迭代器最后一次返回 的元素

复制代码
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class Demo01 {

    public static void main(String[] args) {
        Collection c1=new ArrayList() ;
        c1.add("北京");
        c1.add("上海");
        c1.add("广州");
        Iterator it =c1.iterator();
       
            while(it.hasNext())
             {
                if("北京".equals(it.next()))
                {
                  it.remove();
                }
             }
             System.out.println("移除后:"+c1);
      }
      
      
     
    }
复制代码

输出结果:移除后:[上海, 广州]

 

 

package cn.itcast.list;

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;

/*

迭代器在变量元素的时候要注意事项: 在迭代器迭代元素 的过程中,不允许使用集合对象改变集合中的元素 个数,如果需要添加或者删除只能使用迭代器的方法进行操作。

如果使用过了集合对象改变集合中元素个数那么就会出现ConcurrentModificationException异常。

迭代元素 的过程中: 迭代器创建到使用结束的时间。

*/

public class Demo5 {

public static void main(String[] args) {
List list = new ArrayList();
list.add("张三");
list.add("李四");
list.add("王五");

ListIterator it = list.listIterator(); //获取到迭代器
/* while(it.hasNext()){
System.out.print(it.next()+",");
//it.add("aa"); // 把元素添加到当前指针指向位置
list.add("aa"); // add方法是把元素添加到集合的末尾处的。
// list.remove("张三");
}*/

list.add("aa");
it.next();



System.out.println("\\r\\n集合的元素:"+ list);
}

}

以上是关于Java集合中迭代器的主要内容,如果未能解决你的问题,请参考以下文章

Java集合中迭代器

201621123062《java程序设计》第九周作业总结

JAVA集合集合迭代器快速失败行为及CopyOnWriteArrayList

阶段1 语言基础+高级_1-3-Java语言高级_04-集合_01 Collection集合_5_迭代器的代码实现

9.0对于java集合的迭代器的底层分析

java基础——迭代器