您的位置:首页 > 其它

List集合切割实现对已有数据的分页显示(LIST容器数据量不大的情况下推荐使用)

2017-04-10 15:06 561 查看
package com.lyt.base.util;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

public class SplitLstUtils {

private static final Integer default_size = 15;

@SuppressWarnings("unchecked")
public static<T> List<T> fastSplitLst(List<T> dataList,Integer size,Integer pageNo){
if(dataList==null||dataList.size()==0){
return null;
}
if(size==null||size<=0){
size = default_size;
}
List<List<T>> resultList = new ArrayList<>();
Integer lstSize = dataList.size()%size==0?dataList.size()/size:dataList.size()/size+1;
for (int a = 0; a<lstSize;a++) {
if(a==lstSize-1){
resultList.add((List<T>)new ArrayList<Object>(dataList.subList(a*size, dataList.size())));
}else{
resultList.add((List<T>)new ArrayList<Object>(dataList.subList(a*size, (a+1)*size)));
}
}
return resultList.get(pageNo-1);
}

public static<T> List<T> splitLst(List<T> dataList,Integer size,Integer pageNo){
if(dataList==null||dataList.size()==0){
return null;
}
if(size==null||size<=0){
size = default_size;
}
LinkedList <List<T>> resultList = new LinkedList<>();
Integer lstSize = dataList.size()%size==0?dataList.size()/size:dataList.size()/size+1;
for(int i=0;i<lstSize;i++){
if(i==lstSize-1){
resultList.addLast(new ArrayList<>(dataList.subList(i*size, dataList.size())));
}else{
resultList.addLast(new ArrayList<>(dataList.subList(i*size, (i+1)*size)));
}
}
return resultList.get(pageNo-1);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  class 分页 数据
相关文章推荐