Iterable:可迭代的、可遍历的
Collection接口继承了java.lang.Iterable接口,其子类都通过实现Iterator接口中的iterator()方法得到一个Iterator接口实例。Iterator对象称为迭代器(设计模式的一种),主要用于遍历Collection中的元素。
Iterator iterator = list.iterator();//调用list对象的迭代器对象
while (iterator.hasNext()){
System.out.println(iterator.next()); //next()方法返回的是Object类型的对象
}
·Iterator仅用于遍历集合,其本身并不具备承装对象的能力。
·迭代器相当于对当前的集合状态拍了一个快照,迭代时会根据快照的游标从前到后进行遍历。
·集合对象每一次调用iterator()方法都会得到一个全新的迭代器对象,此迭代器对象的默认游标都在第一个元素之前。
·集合结构(增删改)只要发生改变,此集合的迭代器必须重新进行获取,否则会报错。
·迭代器可以在迭代的过程当中通过迭代器的remove()方法删除底层集合中的元素(会同时更新迭代器和集合中的元素),但是不可以直接调用集合的remove(Object obj)方法删除。
·Map中没有迭代器