Iterator [ɪtə’retɚ] 迭代器
每次使用next方法,先取值,然后就会移到下一位 it.next(); // 当存在就取值,然后移位,这样就可以将所有的元素取出来了
package com.itheima.d3_collection_traversal;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class CollectionDemo1 {
public static void main(String[] args) {
Collection<String> lists = new ArrayList<>();
lists.add("赵敏");
lists.add("赵1");
lists.add("赵2");
lists.add("赵3");
System.out.println(lists);
// [赵敏, 赵1, 赵2, 赵3]
// it 。。 每次使用next方法,先取值,然后就会移位
// 1. 得到当前集合的迭代器对象 泛型这里写String,因为上面的lists操作的就是String类型的元素
Iterator<String> it = lists.iterator(); // 利用集合的iterator对象,得到迭代器集合对象,
String ele = it.next(); // 使用迭代器的next方法 将第一个元素取出来,然后移位
System.out.println(ele); //赵敏
System.out.println(it.next()); // 赵1
System.out.println(it.next()); // 赵2
System.out.println(it.next()); // 赵3
//当位置都移完了后,就会报错
// System.out.println(it.next()); //NoSuchElementException 出现无此元素异常的错误
// 每次使用 iterator.next() 都会先取值,后移位
// 定义while循环
while (it.hasNext()){ // hasNext()循环迭代器当前位置,是否有元素存在,存在返回true,不存在返回false
String ele1 = it.next(); // 当存在就取值,然后移位,这样就可以将所有的元素取出来了
System.out.println(ele1);
}
}
}