java 8中forEach遍历

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

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

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

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

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

        //EntrySet in HashMap.forEach(Consumer> action)
        map.entrySet().forEach(e -> {
            System.out.println(e.getKey());
            System.out.println(e.getValue());
        });

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

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

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









你可能感兴趣的:(java)