lambda不是只有forEach那么简单.. 而且性能都在接受范围内 几乎可以忽略
我举一个工作中的栗子
stream().map(x -> {
//这里每一个对象都要做一些繁重任务
}).collect(Collectors.toList());
上面如果传统的迭代循环 服务器响应的时间比较久,就算用了stream
不过换成parallelStream响应时间快了很多 这方便不用你自己创建线程去调度
比如最常用的分页
调用了一个api返回一个list,但是api不提供分页 那得自己手动分了
如果不用stream分页你得担心可能出现的越界 stream就不用担心这个问题
public static List pagingList(@NotNull List list, Integer pageNo, Integer pageSize) {
if (list.isEmpty()) {
return list;
}
int skip = (pageNo - 1) * pageSize;
return list.stream().skip(skip).limit(pageSize).collect(Collectors.toList());
}
还有很多用途用多了就明白