如何在Java中执行forEach循环

时间:2014-03-24 10:55:47

标签: java

我是一名Javascript开发人员,我开始查看Java。

我遇到的一个问题是如何在集合上执行forEach。我似乎无法在Java集合中找到任何这样的方法......

2 个答案:

答案 0 :(得分:5)

从Java 5开始,您可以使用增强型for循环。假设您在变量List<Thingy>中有thingies。增强的for循环如下所示:

for (Thingy t : thingies) {
    // ...
}

从Java 8开始,迭代的实际forEach method接受lambda function

thingies.forEach((Thingy t) -> { /* ...your code here... */ });

如果您要使用现有方法,则可以使用method reference而不是内联lambda:

thingies.forEach(this::someMethod);      // Instance method on `this`
thingies.forEach(SomeClass::someMethod); // Static method on `SomeClass`
thingies.forEach(foo::someMethod);       // Instance method on `foo` instance

答案 1 :(得分:1)

您要完成的任务只能以类似于JavaScript,Java 8或更新版本的形式完成。 Java 8在Iterable上添加了forEach(defender)方法(Collection继承)