Iterator迭代器的概述
Iterator接口也是java集合中的一员 但他与Collection、map接口有所不同 所属与java.util包下
Collection接口与Map接口主要用于存储元素而Iterator主要用于迭代访问(即遍历)Colection中的元素 因此Iterator对象也称为迭代器
要想遍历Collection集合 那么就要获取该集合迭代器的迭代操作 方法如下:
public Iterator iterator();获取集合对应的迭代器 用来遍历集合中的元素
迭代:
即Collection集合元素的通用获取方式 在取元素之前先要判断集合中是否有元素,如果有就把这个元素取出来 继续判断 如果害有就再取出出来 一直把集合中的所有元素全部取出 这种取出方式专业术语称为迭代
iterator迭代器的使用
Iterator迭代器,是一个接口,我们无法直接使用 需要使用Iterator接口的实现类对象,获取实现类的方式比较特殊Collection接口中有一个方法,叫iterator(),这个方法返回的就是迭代器的实现类对象
Iterator<E> iterator() 返回在此collection的元素上进行迭代器
使用步骤:
1.使用集合中的方法iterator()获取迭代器的实现类对象 使用Iterator接口接收(多态)
2.使用Iterator接口中的方法hasNext判断还有没有下一个元素
3.使用Iterator接口中的方法next取出集合中的下一个元素
代码:
public static void main(String[] args) {
//创建一个集合对象
Collection<String> list = new ArrayList<>();
list.add("张三");
list.add("李四");
list.add("王五");
list.add("赵六");
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()){
System.out.println(iterator.next());
}
}
注意:Iterator<E>接口也是有泛型的 迭代器的泛型跟着集合做 集合是什么泛型 迭代器就是什么迭代器