您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
在Java中,可以使用List
或Set
集合来实现分页查询。这里以List
为例,介绍如何高效实现分页查询。
首先,假设我们有一个实体类User
:
public class User {
private int id;
private String name;
// 省略getter和setter方法
}
接下来,我们创建一个UserService
类,用于实现分页查询:
import java.util.ArrayList;
import java.util.List;
public class UserService {
private List<User> userList;
public UserService() {
// 初始化用户数据
userList = new ArrayList<>();
for (int i = 1; i <= 100; i++) {
User user = new User();
user.setId(i);
user.setName("User" + i);
userList.add(user);
}
}
/**
* 分页查询
* @param page 页码(从1开始)
* @param size 每页显示的记录数
* @return 分页后的用户列表
*/
public List<User> getPagedUsers(int page, int size) {
if (page < 1 || size < 1) {
throw new IllegalArgumentException("页码和每页记录数必须大于0");
}
int fromIndex = (page - 1) * size;
int toIndex = Math.min(fromIndex + size, userList.size());
return userList.subList(fromIndex, toIndex);
}
}
在这个例子中,我们使用了一个List
来存储用户数据。getPagedUsers
方法接受两个参数:page
表示页码,size
表示每页显示的记录数。通过计算fromIndex
和toIndex
,我们可以得到当前页的数据子列表。最后,使用subList
方法获取分页后的用户列表。
这种方法的时间复杂度为O(n),其中n为总记录数。因为subList
方法返回的是原列表的一个视图,所以不需要额外的空间开销。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。