1. 使用Iterator接口提供的默认方法forEach(Consumer action),该方法的参数是一个参数式接口 2. 使用Iterator接口提供的方法访问集合 2.1. boolean hasNext() 2.2. Object next() 2.3. void remove() 3. 使用Iterator接口提供的forEachRemaining(Consumeraction)类似与上面讲的forEac()方法 4. 使用forEach()循环 5. 使用Predicate操作集合 6. 使用Stream操作集合 7. 需要注意的地方 7.1. Iterator 7.1.1. 概念 Iterator接口是collection接口的父接口 7.2. 迭代集合时只是值传递 7.3. 使用Iterator访问Conllection时Collection集合里的元素不能发生改变,只有通过Iterator的remove()方法删除上次next()得到的集合元素时才是意外 7.4. Iterator迭代器使用的是快速失败机制,一旦在迭代过程中发现集合元素被改变(比如在其他线程中修改该集合)就会立即报错,而不是输出更改后的结果。