迭代的概念:Collection集合获取元素通用方式。在获取元素之前要先判断集合中是否有元素可以获取,如果有,就把这个元素取出来,接下来继续判断,如果还有,就继续取出来,直到把集合中所有元素取出来为止,这就是迭代。
Iterator接口,即迭代器。Iterator接口的常用方法:
- boolean hasNext():判断集合中是否有元素可以迭代
- E next():获取集合中的元素
获取迭代器对象:
1.迭代器对象:Iterator接口对象
2.如何获取集合对应的迭代器对象:使用Collection集合中的iteratorr()方法:
- Iterator<E> iterator();获取集合对应的迭代器对象
迭代器常见问题:
1. 在进行集合元素获取时,如果集合中已经没有元素可以迭代了,还继续使用迭代器的next方法,将会抛出java.util.NoSuchElementException没有集合元素异常。解决:用一个新的迭代器。
2. 在进行集合元素迭代时,如果添加或移出集合中的元素,将无法继续迭代,将会抛出ConcurrentModificationException并发修改异常。 解决:移出的解决方式:使用迭代器的remove方法;添加的解决方式:List集合可解决,用ListIterator迭代器