在Java中,如果你有一个现有的List对象,想要根据page(当前页码)和limit(每页显示数量)进行分页,你可以使用Java 8的Stream API来实现这个功能
import java.util.List;
import java.util.stream.Collectors;
public class PaginationExample {
public static <T> List<T> paginateList(List<T> list, int page, int limit) {
if (list == null || list.isEmpty() || page < 1 || limit < 1) {
return Collections.emptyList();
}
// 计算跳过的元素数量
int startIndex = (page - 1) * limit;
// 使用stream进行分页
return list.stream()
.skip(startIndex)
.limit(limit)
.collect(Collectors.toList());
}
public static void main(String[] args) {
// 假设你有一个List
List<String> items = Arrays.asList("item1", "item2", "item3", "item4", "item5", "item6", "item7", "item8", "item9", "item10");
// 你想要获取第2页的数据,每页显示3条
int currentPage = 2;
int itemsPerPage = 3;
// 调用paginateList方法进行分页
List<String> paginatedItems = paginateList(items, currentPage, itemsPerPage);
// 打印分页后的结果
System.out.println(paginatedItems);
}
}