今日学习迭代器和Collection、迭代器、Map之间的关系

1. 迭代器Itaretor

  • 为什么会出现迭代器:为了遍历出集合中的数据,用for循环写比较麻烦,就在集合中各个实现类下抽象出了这个迭代器的接口,从而使用迭代器方便遍历出集合中的数据并进行相应的操作
  • 迭代器的使用:
//三段式:创建对象,使用方法,操作数据
ArrayList list =new ArrayList();
Iterator it=list.iterator();
while (it.hasNext()) {
        Object object = (Object) it.next();
        it.remove();
}
  • 在collection接口的实现类中都有关迭代器的方法,用来遍历数组中的数据,但是在map接口的实现类中没有与迭代器相关的方法,也就是说map中不能通过迭代器来遍历集合,要想遍历map中的数据只能通过set接口来遍历map中的数据(通过泛型存键值对,存key值,存value)
  • 迭代器的基础上慢慢的出现了增强for循环
for (要遍历的集合数据类型 临时变量名 : 要遍历的集合) {循环体}
  • 通过增强for循环可以减少迭代器的代码,更为方便与快捷,建议使用增强for循环,使用迭代器删除数据时,删除的是原先集合中的数据,而增强for循环中要删除,删除的是for循环得到副本,不是删除集合中的原数据