以下是一个使用 Java 8 实现的简单手动分页工具类:
import java.util.ArrayList;
import java.util.List;
public class PageTool {
public static <T> List<T> getPage(List<T> sourceList, int pageSize, int pageNumber) {
int startIndex = (pageNumber - 1) * pageSize;
int endIndex = Math.min(startIndex + pageSize, sourceList.size());
if (startIndex >= sourceList.size()) {
return new ArrayList<>();
}
return sourceList.subList(startIndex, endIndex);
}
}
你可以使用以下方式调用这个分页工具:
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> numbers = new ArrayList<>();
for (int i = 1; i <= 100; i++) {
numbers.add(i);
}
List<Integer> page1 = PageTool.getPage(numbers, 10, 1);
for (Integer num : page1) {
System.out.print(num + " ");
}
}
}
在上述代码中,PageTool类的getPage方法接受一个源列表、每页大小和页码作为参数,返回指定页码的分页结果。在Main类中演示了对一个包含 1 到 100 的整数列表进行分页并输出第一页内容的示例。