我是靠谱客的博主 结实汉堡,最近开发中收集的这篇文章主要介绍forEach(),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

解释:forEach() 方法用于遍历动态数组中每一个元素并执行特定操作。

语法:arraylist.forEach(Consumer<E> action)

example:

ArrayList<Integer> numbers = new ArrayList<>();

        // 往数组中添加元素
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        numbers.add(4);
        System.out.println("ArrayList: " + numbers);

        // 所有元素乘以 10
        System.out.print("更新 ArrayList: ");

        // 将 lambda 表达式传递给 forEach
        numbers.forEach((c) -> {
            c = c * 10;
            System.out.print(c + " ");
        });

输出如下:

那和for循环到底有啥区别呢?

先来看下for循环的用法

 for(Integer i:numbers){
            i = i * 10;
            System.out.print(i + " ");
        }

输出和上面一样。

那两者到底有何区别呢?

1.for循环是可以中断循环(利用break语句或return语句),但forEach不可以中断循环。

2.网上说循环ArrayList时,普通for循环比foreach循环花费的时间要少一点;循环LinkList时,普通for循环比foreach循环花费的时间要多很多。

一段简单的代码比较耗时:

 long arrayForStartTime1 = System.currentTimeMillis();
        numbers.forEach((c) -> {
            c = c * 10;
            System.out.print(c + " ");
        });
        long arrayForEndTime1 = System.currentTimeMillis();
        System.out.println("采用forEach循环的耗时为"+(arrayForEndTime1 - arrayForStartTime1));



        long arrayForStartTime = System.currentTimeMillis();
        for(Integer i:numbers){
            i = i * 10;
            System.out.print(i + " ");
        }
        long arrayForEndTime = System.currentTimeMillis();
        System.out.println("采用for循环的耗时为"+(arrayForEndTime - arrayForStartTime));

最后

以上就是结实汉堡为你收集整理的forEach()的全部内容,希望文章能够帮你解决forEach()所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(68)

评论列表共有 0 条评论

立即
投稿
返回
顶部