list.forEach 和 list.stream().forEach
总结:使用上没啥太大区别,百万以上级级别使用 比增强for循环要快。亿级的使用list.parallelStream().forEach要快,但是parallelStream无序。
复制import org.springframework.util.StopWatch;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
public class Demo {
public static void main(String[] args) {
StopWatch watch = new StopWatch();
//AtomicInteger count = new AtomicInteger();
// List<String> list = Arrays.asList("xi","lin","na","yi");
List<Integer> list = new ArrayList<>();
for (int i = 0; i < 10000000; i++) {
list.add(i);
}
// 百万以上 增强for还是forEach都可以
System.out.println("增强for循环:");
watch.start("任务1");
for (Integer s : list) {
//count.getAndIncrement();
}
watch.stop();
// 百万以上 用forEach
System.out.println("\n集合流调用forEach:");
watch.start("任务2");
list.stream().forEach(s->{
//count.getAndIncrement();
});
watch.stop();
System.out.println("\n集合的迭代器: ");
watch.start("任务3");
list.forEach(s->{
//count.getAndIncrement();
});
watch.stop();
// 这种亿级别使用
System.out.println("\n多线程集合流:");
watch.start("任务4");
list.parallelStream().forEach(s->{
//count.getAndIncrement();
});
watch.stop();
System.out.println(watch.prettyPrint());
//System.out.println(count);
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?