Java中遍历容器主要用for,在JDK 1.8中提供了forEach方法,源码如下:
/** * Performs the given action for each element of the {@code Iterable} * until all elements have been processed or the action throws an * exception. Unless otherwise specified by the implementing class, * actions are performed in the order of iteration (if an iteration order * is specified). Exceptions thrown by the action are relayed to the * caller. * * @implSpec * <p>The default implementation behaves as if: * <pre>{@code * for (T t : this) * action.accept(t); * }</pre> * * @param action The action to be performed for each element * @throws NullPointerException if the specified action is null * @since 1.8 */
default void forEach(Consumer<? super T> action) {
Objects.requireNonNull(action);
for (T t : this) {
action.accept(t);
}
}
用法:
public class ForEach{
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("first");
list.add("second");
list.add("third");
list.add("four");
list.add("five");
list.forEach((num)->System.out.println(num));
return;
}
}
输出:
first
second
third
four
five