一、什么是迭代器?
Iterator对象称为迭代器 Java中用来遍历集合
二、什么场景下使用迭代器
对于Java而言只要实现了Iterable接口的集合就可以使用迭代器
通过源码来看看Iterable接口
public interface Iterable<T> {
/**
* Returns an iterator over elements of type {@code T}.
*
* @return an Iterator.
*/
Iterator<T> iterator();
}
它只有一个方法返回一个Iterator对象
public interface Iterator<E> {
boolean hasNext();
E next();
default void remove() {
throw new UnsupportedOperationException("remove");
}
}
有这个三个方法
- hasNext 判断有没有下一个 有返回true
- next 移动到下一个元素
- remove 删除元素 (此方法在迭代中可以删除元素,如果调用集合中的remove 方法就会抛异常)
基本使用
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(111);
list.add(222);
list.add(333);
Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()) {
Integer value = iterator.next();
if(value == 111){
iterator.remove()
};
}
}
迭代器通常情况下都是对集合数据进行迭代