Java Stream 流 分页处理
# skip(lang n)
skip(lang n) 是一个跳过前 n 个元素的中间流操作。我们编写一个简单的方法来进行skip操作,将流剩下的元素打印出来。
# limit()
当 n < 0 时直接抛出了 IllegalArgumentException 异常。当 n=0 时,返回一个空流。当 n=4 时,打印了 1 、 2 、3 、 4 。 n=8 时,打印了所有元素。感觉跟 mysq的分页有异曲同工之妙。
// An highlighted block
/**
*
* @param pageNo=====页码
* @param pageSize===每页条数
*/
public void subPaging(Integer pageNo,Integer pageSize){
Map<String,Object> map = Maps.newHashMap();
List list = new ArrayList();
//list -> 当前页所有数据
map.put("list",list.stream().skip((pageNo - 1) * pageSize).limit(pageSize).collect(Collectors.toList()));
//count -> 记录总条数
map.put("count",list.size());
}