先抛出一个疑问:
用for循环遍历不好吗?
答:
这两个在集合方面迭代du时候是有区别的:比如你要遍历一zhi个集合dao,当满足某条件时候,zhuan删除一个元素,如果用的是for循环,就用集合自带的remove(),而这样就改变了集合的Size()循环的时候会出错但如果把集合放入迭代器,既iterator迭代可以遍历并选择集合中的每个对象而不改变集合的结构,而把集合放入迭代器,用迭代器的remove()就不会出现问题。
它是collection集合的通用获取方式,collect的子集合有很多种,每种集合都有其自身的特型,比如形象比喻成衣柜,药瓶,水,取出或放进去方式都不一样,迭代器就适应各种情况,先判断里面有没有元素,有就取出,再判断,若还有就再取出。这种取出方式就是迭代,
迭代器Interator在collection是一个接口无法直接使用,需要使用它的实现类对象。//用到了多态(接口,实现类对象)
collection集合是一个接口,它内部有一个方法interator(),是返回一个迭代器S实现类对象,Interator<> interator()来返回在此collection上的迭代器
Interator也是有泛型的,它的迭代器类型跟着它走
- 为什么要用迭代器呢?collection集合中有许多子类。list类可以永get方法获取元素,但是对于另一个分支没有索引的set类系列,就不行了,需