我不明白为什么Java 8会有forEach循环并以Consumer功能接口作为参数。即使我们可以为每个循环使用传统方法执行相同的任务,而无需创建任何额外的开销来创建一个类,该类实现了Consumer的实现,并实现了一个方法,然后将其作为对forEach()的引用。尽管有lambda表达式可以使它简短。
Q1-为什么要迭代.forEach()?
Q2。在哪里使用?
Q3。对于Java 8 forEach()来说,哪种更快的传统?
样品:
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.function.Consumer;
import java.lang.Integer;
public class ForEachExample {
public static void main(String[] args) {
//creating sample Collection
List<Integer> myList = new ArrayList<Integer>();
for(int i=0; i<10; i++) myList.add(i);
//traversing using Iterator
Iterator<Integer> it = myList.iterator();
while(it.hasNext()){
Integer i = it.next();
System.out.println("Iterator Value::"+i);
}
//traversing through forEach method of Iterable with anonymous class
myList.forEach(new Consumer<Integer>() {
public void accept(Integer t) {
System.out.println("forEach anonymous class Value::"+t);
}
});
//traversing …Run Code Online (Sandbox Code Playgroud)