// Java 手动分页示例代码
import java.util.ArrayList;
import java.util.List;
public class PaginationExample {
// 模拟数据源
private static List<String> dataSource = new ArrayList<>();
static {
// 初始化数据源,模拟有100条数据
for (int i = 1; i <= 100; i++) {
dataSource.add("Item " + i);
}
}
// 分页方法
public static List<String> getPage(int pageNumber, int pageSize) {
// 计算起始索引和结束索引
int fromIndex = (pageNumber - 1) * pageSize;
int toIndex = Math.min(fromIndex + pageSize, dataSource.size());
// 检查起始索引是否超出范围
if (fromIndex >= dataSource.size() || fromIndex < 0) {
return new ArrayList<>(); // 返回空列表表示没有更多数据
}
// 返回分页后的数据
return dataSource.subList(fromIndex, toIndex);
}
public static void main(String[] args) {
// 示例:获取第2页,每页显示10条数据
int pageNumber = 2;
int pageSize = 10;
List<String> pageData = getPage(pageNumber, pageSize);
// 输出分页结果
System.out.println("Page " + pageNumber + ": " + pageData);
}
}
ArrayList 来模拟数据源,里面包含了100条数据。getPage 方法接受两个参数:pageNumber(页码)和 pageSize(每页显示的数据条数)。它会根据这些参数计算出当前页的数据范围,并返回相应的子列表。getPage 方法中,我们进行了边界检查,确保不会出现越界的情况。如果请求的页码超出了数据范围,则返回一个空列表。main 方法中,我们演示了如何调用 getPage 方法来获取第2页的数据,每页显示10条记录。希望这段代码能帮助你理解如何在 Java 中实现手动分页。
上一篇:tensorflow java
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站