public class ReturnDataWrapper {
private List rows = new ArrayList();
private int total;
private int pageSize;
private int pageNo;
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
public List getRows() {
return rows;
}
//假分页
public void setFakeRows(List rows, int pageNo,
int pageSize) {
this.total = rows.size();
this.pageSize = pageSize;
this.pageNo = pageNo;
this.rows = rows;
pageUtil();
}
//真分页
public void setDbRows(List rows, int pageSize, int pageNo, int total) {
this.total = total;
this.pageSize = pageSize;
this.pageNo = pageNo;
this.rows = rows;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getPageNo() {
return pageNo;
}
public void setPageNo(int pageNo) {
this.pageNo = pageNo;
}
protected void pageUtil() {
ComparatorPoolElement comparatorPoolElement = new ComparatorPoolElement();
Collections.sort(rows, comparatorPoolElement);
pageNo = pageNo < 1 ? 1 : pageNo;
if (rows.size() % pageSize == 0) {
pageNo = pageNo > (rows.size() / pageSize) ? (rows.size() / pageSize)
: pageNo;
} else {
pageNo = pageNo > (rows.size() / pageSize + 1) ? (rows.size()
/ pageSize + 1) : pageNo;
}
int start = (pageNo - 1) * pageSize;
int end = pageNo * pageSize;
start = start < 1 ? 0 : start;
end = end > rows.size() ? rows.size() : end;
this.rows = rows.subList(start, end);
}
public static List<Integer> subIntegerList(List<Integer> origined, int pageSize,
int pageNo) {
Collections.sort(origined);
pageNo = pageNo < 1 ? 1 : pageNo;
if (origined.size() % pageSize == 0) {
pageNo = pageNo > (origined.size() / pageSize) ? (origined.size() / pageSize)
: pageNo;
} else {
pageNo = pageNo > (origined.size() / pageSize + 1) ? (origined
.size() / pageSize + 1) : pageNo;
}
int start = (pageNo - 1) * pageSize;
int end = pageNo * pageSize;
start = start < 1 ? 0 : start;
end = end > origined.size() ? origined.size() : end;
return origined.subList(start, end);
}
class ComparatorPoolElement implements Comparator<PoolElement> {
@Override
public int compare(PoolElement o1, PoolElement o2) {
return o1.getId() - o2.getId();
}
}
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
for (int i = 0; i < 100; i++) {
list.add(i);
}
System.out.println(ReturnDataWrapper.subIntegerList(list,10,11));
}
}