导读:
笔者使用的是小米笔记本 1.99 GHz 四核Intel Core i7,本文对比了几种方法求素数耗时。这几种方法分别是:传统的for方法,java8 stream流,parallel stream。结果表明stream性能通常差一点,但是写法更简洁,世间安得双全法,不负如来不负卿?parallel stream,充分利用多核性能吧!!!
Stream
Java8 增加了重要的特性是Stream流。stream的使用可以将代码中大量的for循环变为一系列简洁的高阶函数操作。
1.8以前要收集一个业务对象DTO的列表中的某个业务对象字段,我们需要这样写:
List list = new ArrayList<>(timeConsumptionList.size());
for (TimeConsumption timeConsumption : timeConsumptionList) {
list.add(timeConsumption.getN());
}
现在可以这样写了
List nList = timeConsumptionList.stream()
.map(TimeConsumption::getN)
.collect(Collectors.toList());
正题
好了。不说废话了,切入正题,上比较代码。
package lambdasinaction.chap6;
import com.google.gson.Gson;
import lombok.Data;
import ja