Iterable接口中的forEach()方法
每当我们需要遍历Collection时,我们需要创建一个Iterator,其目的是迭代,然后我们在循环中为Collection中的每个元素提供业务逻辑。如果没有正确使用迭代器,会抛出异常ConcurrentModificationException。
Java 8在java.lang.Iterable接口中引入了forEach方法,这样在编写代码时我们只关注业务逻辑。 forEach方法将java.util.function.Consumer对象作为参数,因此它有助于将我们的业务逻辑放在我们可以重用的单独位置。让我们
通过简单的例子看看每个用法。
List();for(int i=0; i<10; i++) myList.add(i);//使用iteratorIterator() {public void accept(Integer t) {System.out.println("forEach anonymous class Value::"+t);}});//使用consumer 接口MyConsumer action = new MyConsumer();myList.forEach(action);//使用lambda表达式myList.forEach(System.out::println);
