java 8中forEach遍历

本文档转载而来,转载自:https://blog.csdn.net/yangjiachang1203/article/details/52621072

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异常


猜你喜欢

转载自blog.csdn.net/meng19910117/article/details/80931347
今日推荐