java代码中收动分页
时间: 2023-07-29 13:13:14 浏览: 49
在 Java 中实现分页功能,可以使用以下代码:
```java
public class Pagination private int currentPage;
private int pageSize;
private List<String> dataList;
public Pagination(List<String> dataList, int pageSize) {
this.dataList = dataList;
this.pageSize = pageSize;
this.currentPage = 1;
}
public List<String> getCurrentPageData() {
int startIndex = (currentPage - 1) * pageSize;
int endIndex = Math.min(startIndex + pageSize, dataList.size());
return dataList.subList(startIndex, endIndex);
}
public void nextPage() {
if (hasNextPage()) {
currentPage++;
}
}
public void previousPage() {
if (hasPreviousPage()) {
currentPage--;
}
}
public boolean hasNextPage() {
int totalPages = getTotalPages();
return currentPage < totalPages;
}
public boolean hasPreviousPage() {
return currentPage > 1;
}
public int getTotalPages() {
return (int) Math.ceil((double) dataList.size() / pageSize);
}
public int getCurrentPage() {
return currentPage;
}
public int getPageSize() {
return pageSize;
}
}
```
使用示例:
```java
// 创建一个包含数据的列表
List<String> dataList = new ArrayList<>();
dataList.add("Data 1");
dataList.add("Data 2");
dataList.add("Data 3");
dataList.add("Data 4");
dataList.add("Data 5");
dataList.add("Data 6");
dataList.add("Data 7");
// 创建分页对象,指定每页数据量为3
Pagination pagination = new Pagination(dataList, 3);
// 获取第一页数据
List<String> page1 = pagination.getCurrentPageData();
System.out.println(page1); // 输出:[Data 1, Data 2, Data 3]
// 切换到下一页
pagination.nextPage();
// 获取第二页数据
List<String> page2 = pagination.getCurrentPageData();
System.out.println(page2); // 输出:[Data 4, Data 5, Data 6]
// 切换到上一页
pagination.previousPage();
// 获取当前页码
int currentPage = pagination.getCurrentPage();
System.out.println(currentPage); // 输出:1
// 获取总页数
int totalPages = pagination.getTotalPages();
System.out.println(totalPages); // 输出:3
```
以上代码实现了一个简单的分页功能,可以根据需要进行扩展和定制化。