java list 分页
时间: 2023-08-16 12:10:11 浏览: 96
Java中的List可以通过分页来实现对数据的分批处理,常见的方法有两种:
1. 使用subList方法实现分页
List提供了subList方法,可以截取List中某一段数据作为一个子List返回,此方法的参数是起始索引和终止索引,起始索引包含在子List中,而终止索引则不包含在子List中。因此,可以通过计算起始索引和终止索引来实现分页。
例如,假设我们有一个List<Integer>,要将其中的数据按照每页10条进行分页,可以按照如下代码实现:
```
List<Integer> list = new ArrayList<>();
// 初始化list
int pageNum = 2; // 第2页
int pageSize = 10; // 每页10条数据
int startIndex = (pageNum - 1) * pageSize;
int endIndex = pageNum * pageSize;
if (endIndex > list.size()) {
endIndex = list.size();
}
List<Integer> subList = list.subList(startIndex, endIndex);
```
2. 使用分页插件实现分页
除了手动计算起始索引和终止索引之外,还可以使用一些开源的分页插件来实现分页功能,比如MyBatis提供的分页插件PageHelper。使用分页插件可以简化代码,提高开发效率。
以PageHelper为例,可以按照如下步骤来实现分页:
1. 引入PageHelper的Maven依赖:
```
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.2.1</version>
</dependency>
```
2. 在MyBatis的配置文件中配置PageHelper插件:
```
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor"/>
</plugins>
```
3. 在Java代码中使用PageHelper.startPage方法来开启分页功能:
```
int pageNum = 2; // 第2页
int pageSize = 10; // 每页10条数据
PageHelper.startPage(pageNum, pageSize);
List<Integer> list = mapper.selectList(); // 进行查询操作
```
使用PageHelper插件可以自动计算起始索引和终止索引,而且还支持多种数据库的分页方式,非常方便。
阅读全文