小编jan*_*024的帖子

为什么Java 8引入了iterable.forEach()循环(即使每个都有)?

我不明白为什么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)

foreach lambda java-8

4
推荐指数
3
解决办法
6152
查看次数

标签 统计

foreach ×1

java-8 ×1

lambda ×1