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);
}
}
List集合切割实现对已有数据的分页显示(LIST容器数据量不大的情况下推荐使用)
最新推荐文章于 2023-03-08 16:12:05 发布