对当前集合查询结果分页,代码如下:
import com.google.common.collect.Lists;
import java.util.List;
public class PageUtils {
private PageUtils() {
}
public static List getRecords(List records, long current, long size, int total){
int start = 0 + ((int)current -1)*((int)size);
if(start > total){
return Lists.newArrayList();
} else {
if(((int)size) * ((int)current) - total >= 0 && start == 0){
return records;
} else {
int end = ((int)size) * ((int)current);
end = end - total > 0? total : end;
return records.subList(start, end);
}
}
}
}
外层调用:
// 手动设置分页
resp.setRecords(PageUtils.getRecords(pageAResps, req.getCurrent(), req.getSize(), total));
resp.setCurrent(req.getCurrent());
resp.setSize(req.getSize());
resp.setTotal(total);