1. 程式人生 > >Java實現手動分頁

Java實現手動分頁

1、使用apache工具進行手動分頁

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

import org.apache.commons.collections4.ListUtils;

import com.alibaba.fastjson.JSON;

/**
 * 手動分頁
 * @author 張林強
 */
public class Test {
	//*1 使用apache工具進行手動分頁
	public static void getPageContentByApache(int pageNo,int pageSize) {
		List<String> list = new ArrayList<String>();
		list.add("a");
		list.add("b");
		list.add("c");
		list.add("d");
		list.add("e");
		list.add("f");
		list.add("g");
		List<List<String>> partition = ListUtils.partition(list, pageSize);
		if(list.size()<(pageNo*pageSize)){
			System.out.println("越界");
		}else{
			System.out.println(JSON.toJSONString(partition.get(pageNo-1)));
		}
	}
	public static void main(String[] args) {
		getPageContentByApache(3,2);
	}
}

2、使用原生 Java api 進行手動分頁
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.collections4.ListUtils;

import com.alibaba.fastjson.JSON;

/**
 * 手動分頁
 * @author 張林強
 */
public class Test {
	
	//*2 使用原生 Java api 進行手動分頁
	public static void getPageContentByApi(int pageNo,int pageSize){
		List<String> list = new ArrayList<String>();
		list.add("a");
		list.add("b");
		list.add("c");
		list.add("d");
		list.add("e");
		list.add("f");
		list.add("g");
		//總記錄數
		int total = list.size();
		for(int i = 0 ;i <= total;i++){
			// 開始索引
			int fromIndex = (pageNo-1) * pageSize;
			// 結束索引
			int toIndex = fromIndex + pageSize;
			// 如果結束索引大於集合的最大索引,那麼規定結束索引=集合大小
			if(toIndex > total){
				toIndex = total;
			}
			if(fromIndex <= total){
				List<String> subList = list.subList(fromIndex, toIndex);
				System.out.println(JSON.toJSONString(subList));
				if(toIndex >= fromIndex){
					break;
				}
			}
		}
	}
	
	public static void main(String[] args) {
		getPageContentByApi(3,2);
	}
}