Java对list进行分页,实现物理分页

 

今天,工作上,由于业务的一些特殊性,需要拿到数据后在java代码中进行分页。

写了一个工具类,记录如下:

 

import java.util.ArrayList;
import java.util.List;
 
import org.apache.commons.collections.CollectionUtils;
 
/**
 * java内存分页工具类
 */
public class JavaMemoryPageUtil {
 
  /**
   * 获取分页数据
   * @param dataList 进行分页的数据集合
   * @param pageNum  第几页
   * @param pageSize 每页显示多少条
   * @return
   */
  @SuppressWarnings({ "rawtypes", "unchecked" })
  public static List getPageLimit(List dataList, int pageNum, int pageSize){
    if(CollectionUtils.isEmpty(dataList)){
      return dataList;
    }
    List resultList = new ArrayList();
    // 所有dataList数据中的第几条
    int currIdx = pageNum > 1 ? (pageNum -1) * pageSize : 0;
    for (int i = 0; i < pageSize && i < dataList.size() - currIdx; i++) {
      resultList.add(dataList.get(currIdx + i));
    }
    return resultList;
  }
}

 

你可能感兴趣的:(java,工具类)