src/share/classes/java/lang/Iterable.java
Print this page
rev 6197 : [mq]: collections
*** 24,33 ****
--- 24,35 ----
*/
package java.lang;
import java.util.Iterator;
+ import java.util.Objects;
+ import java.util.function.Block;
/**
* Implementing this interface allows an object to be the target of
* the "foreach" statement.
*
*** 41,46 ****
--- 43,62 ----
* Returns an iterator over a set of elements of type T.
*
* @return an Iterator.
*/
Iterator<T> iterator();
+
+ /**
+ * Execute the specified Block for each element
+ *
+ * @param block The Block to which elements will be provided
+ * @throws NullPointerException if the specified block is null
+ * @since 1.8
+ */
+ public default void forEach(Block<? super T> block) {
+ Objects.requireNonNull(block);
+ for (T t : this) {
+ block.accept(t);
+ }
+ }
}