package com.kellen.test;
import java.util.ArrayList;
import java.util.List;
/**
*
*/
public class ListPageTest
{
private static int lineSize = 10;
public static void main(String[] args)
{
List<String> list = new ArrayList<>();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
list.add("6");
list.add("7");
list.add("8");
list.add("9");
list.add("10");
list.add("11");
list.add("12");
list.add("13");
list.add("14");
list.add("15");
list.add("16");
list.add("17");
list.add("18");
list.add("19");
list.add("20");
list.add("21");
int totalPage = getTotalPage(list.size());
for (int i = 1; i <= totalPage; i++)
{
System.out.println("第" + i + "页");
List<String> currentPageList = getCurrentPageList(i, list, totalPage);
for (String string : currentPageList)
{
System.out.println(string);
}
}
}
private static List<String> getCurrentPageList(int currentPage, List<String> list, int totalPage)
{
List<String> inventoryList = new ArrayList<>();
// 开始页
int startLine = (currentPage - 1) * lineSize;
// 结束页
int endLine = currentPage * lineSize;
// 一共1页直接返回
if (totalPage == 1)
{
return list;
}
// 不是第一页 不是最后一页
else if (currentPage != totalPage)
{
for (int i = startLine; i < endLine; i++)
{
inventoryList.add(list.get(i));
}
return inventoryList;
}
// 最后一页
else
{
for (int i = startLine; i < list.size(); i++)
{
inventoryList.add(list.get(i));
}
return inventoryList;
}
}
private static int getTotalPage(int size)
{
if (size <= lineSize)
{
return 1;
}
else if (0 == size % lineSize)
{
return size / lineSize;
}
else
{
return size / lineSize + 1;
}
}
}