java对集合分页 只有limit和offset不使用mybatis控制使用工具类对集合进行步长取值
可以使用Java的工具类对集合进行分页,具体的步骤如下:
- 创建一个工具类,例如
CollectionUtils,定义一个静态方法getPageList,该方法接收三个参数:原始集合、页码和每页的数量。
public class CollectionUtils {
public static <T> List<T> getPageList(List<T> list, int page, int pageSize) {
int startIndex = (page - 1) * pageSize;
int endIndex = Math.min(startIndex + pageSize, list.size());
return list.subList(startIndex, endIndex);
}
}
- 在需要进行分页的地方,调用
CollectionUtils.getPageList方法,传入原始集合、页码和每页的数量,获取分页后的子集合。
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
int page = 2;
int pageSize = 3;
List<Integer> pageList = CollectionUtils.getPageList(numbers, page, pageSize);
System.out.println(pageList); // 输出:[4, 5, 6]
通过计算起始索引和结束索引,使用subList方法获取指定范围的子集合,即为分页后的结果。
注意:这种方式是直接在内存中对集合进行分页,适用于数据量不大的情况。如果数据量较大,建议使用数据库的分页查询
原文地址: https://www.cveoy.top/t/topic/h9BZ 著作权归作者所有。请勿转载和采集!