Iterable接口中的forEach()方法

    每当我们需要遍历Collection时,我们需要创建一个Iterator,其目的是迭代,然后我们在循环中为Collection中的每个元素提供业务逻辑。如果没有正确使用迭代器,会抛出异常ConcurrentModificationException。

    Java 8在java.lang.Iterable接口中引入了forEach方法,这样在编写代码时我们只关注业务逻辑。 forEach方法将java.util.function.Consumer对象作为参数,因此它有助于将我们的业务逻辑放在我们可以重用的单独位置。让我们

    通过简单的例子看看每个用法。

    1. List();
    2. for(int i=0; i<10; i++) myList.add(i);
    3. //使用iterator
    4. Iterator() {
    5. public void accept(Integer t) {
    6. System.out.println("forEach anonymous class Value::"+t);
    7. }
    8. });
    9. //使用consumer 接口
    10. MyConsumer action = new MyConsumer();
    11. myList.forEach(action);
    12. //使用lambda表达式
    13. myList.forEach(System.out::println);