如果你已经有一个 List<T>
,并希望对这个列表进行分页,可以通过手动实现分页逻辑来完成。下面是一个简单的示例:
import java.util.ArrayList;
import java.util.List;
public class PaginationUtils {
public static <T> List<T> paginateList(List<T> list, int currentPage, int pageSize) {
if (list == null || list.isEmpty()) {
return new ArrayList<>();
}
int totalItems = list.size();
int totalPages = (int) Math.ceil((double) totalItems / pageSize);
// 确保当前页不超过总页数
if (currentPage > totalPages) {
return new ArrayList<>();
}
// 计算开始和结束索引
int startIndex = (currentPage - 1) * pageSize;
int endIndex = Math.min(startIndex + pageSize, totalItems);
return list.subList(startIndex, endIndex);
}
}