fori
for (int i = 0; i < objects.size(); i++) {}
foreach
for (Object o : objects) {}
fori最普通的循环,可以时候得到当前的索引位置。
foreach 和fori区别不大,foreach是普通fori的增强版用起来更方便。但是没有当前索引。
java8新出的循环方式stream().forEach
objects.stream().forEach(p->{});
最大的特点是并发执行,对于循环内业务量比较多的场景非常适合,比如数据库查询,第三方接口调用等耗时的操作。如果只是简单的逻辑代码,比如组装,赋值等。最好用普通循环,效率更快。因为多线程模式调用线程池的时候必然会耗费一些时间,得不偿失。