JAVA集合框架中迭代器Iterator的使用

迭代器可以一个一个获取…

没有使用迭代器的例子:

import java.util.Collection;
import java.util.ArrayList;

public class Demo {
    public static void main(String[] args) {
        Collection coll = new ArrayList();
        coll.add("abc1");
        coll.add("abc2");
        coll.add("abc3");
        coll.add("abc4");
        System.out.println(coll);
    }
}

运行结果:
在这里插入图片描述
如果我们想要从集合中一个一个的获取这时就只能使用迭代器了…


使用迭代器的例子:
while循环

import java.util.Collection;
import java.util.ArrayList;
import java.util.Iterator;
public class Demo {
    public static void main(String[] args) {
        Collection coll = new ArrayList();
        coll.add("abc1");
        coll.add("abc2");
        coll.add("abc3");
        coll.add("abc4");

        Iterator it = coll.iterator();
        while(it.hasNext()) {
            System.out.println(it.next());
        }
    }
}

运行结果:
在这里插入图片描述


如果迭代器只使用一次for循环可以更省内存

import java.util.Collection;
import java.util.ArrayList;
import java.util.Iterator;
public class Demo {
    public static void main(String[] args) {
        Collection coll = new ArrayList();
        coll.add("abc1");
        coll.add("abc2");
        coll.add("abc3");
        coll.add("abc4");

       for(Iterator it = coll.iterator(); it.hasNext(); ) {
           System.out.println(it.next());
       }
    }
}

运行结果:
在这里插入图片描述


Iterator迭代器的方法:
1.(常用)

返回类型                   方法
boolean                   hasNext()

判断集合是否为空,空返回false,非空返回true


2.(常用)

返回类型                   方法
E                         next()

E是我们给以确定的类型(泛型)
例如:

Iterator<String> it = coll.iterator()

next()是返回迭代的下一个元素


3.(不常用)

返回类型                   方法
default void              forEachRemaining(Consumer<? super E> action) 

对每个剩余元素执行给定的操作,直到所有元素都被处理或动作引发异常。


4.(不常用)

返回类型                   方法
default void              remove()

从底层集合中删除此迭代器返回的最后一个元素(可选操作)。

发布了87 篇原创文章 · 获赞 43 · 访问量 4017

猜你喜欢

转载自blog.csdn.net/weixin_42947972/article/details/103138048