java 8中forEach遍历

public class ForEachTest {
    public static void main(String[] args) {
        /** list */  //ArrayList in Arrays.forEach(Consumer<? super E> action)
        Arrays.asList("a", "b", "d").forEach(e -> System.out.println(e));

        //ArrayList.forEach(Consumer<? super E> action)
        List<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.forEach(e -> System.out.println(e));

        /** HashSet */  //HashSet.forEach(Consumer<? super T> action)
        Set set = new HashSet<>(list);
        set.forEach(e -> System.out.println(e));

        /** Stack / Vector */  Stack<String> stack = new Stack<>();
        stack.push("A");
        stack.push("B");
        stack.push("C");
        //Vector.forEach(Consumer<? super E> action)
        stack.forEach(e -> System.out.println(e));

        /** map */  Map<String,String> map = new HashMap<>();
        map.put("a", "a");
        map.put("b", "b");
        //KeySet in HashMap.forEach(Consumer<? super K> action)
        map.keySet().forEach(e -> System.out.println(e));

        //EntrySet in HashMap.forEach(Consumer<? super Map.Entry<K,V>> action)
        map.entrySet().forEach(e -> {
            System.out.println(e.getKey());
            System.out.println(e.getValue());
        });

        //Values in HashMap.forEach(Consumer<? super V> action)
        map.values().forEach(e -> System.out.println(e));

        //HashMap.forEach(BiConsumer<? super K, ? super V> action)
        map.forEach((k, y) -> {
            System.out.println(k);
            System.out.println(y);
        });
    }
}

执行forEach的时候不允许修改元素长度,否则会抛出ConcurrentModificationException异常

    原文作者:杨家昌
    原文地址: https://blog.csdn.net/yangjiachang1203/article/details/52621072
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞