Java 迭代器(iterator)

68 阅读1分钟

迭代器的作用

因为不像数组有下标索引,所以需要用迭代器获取集合中的元素。
Iterator是接口,需要用实现类,即对应集合的iterator()方法,获取迭代器
每种单列集合都有iterator()方法

关键方法:

  • hasNext();//判断有没有下一个元素,返回的是布尔值
  • Next();//获取下一个元素,返回的是元素

你可能会疑问都是Next那怎么可以获取当前的元素。Iteratoriterator=coll.iterator();,iterator获得的是coll第一个元素前面的指针。所以Next没毛病。
**再说Next()方法:**它除了返回下一个元素,还会把指针(iterator)往后移一个。所以该方法一共有两个功能。

用例

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

public class IteratorT {
    public static void main(String[] args) {
        Collection<String> coll = new ArrayList();
        coll.add("张三");//返回布尔值,但没必要接收,Boolean = coll.add("张三");
        coll.add("李四");
        coll.add("王五");
        coll.add("赵六");
        Iterator<String> iterator =coll.iterator();//获取迭代器的泛型要对,都要是<String>
        while(iterator.hasNext()){//尽量用while,少用for
            String s = iterator.next();//因为泛型是String
            System.out.println(s);
        }
    }
}