小工具知识网

当前位置: 首页 > 行业知识 > List 集合手动分页

行业知识

List 集合手动分页

2026-11-06 05:09:52 来源:互联网转载

小伙伴们好,���迎关注,一起学习,无限进步

()

为方便测试,可以直接在 controller 内添加一个方法,或者直接通过 main 方法测试

List 手动分页:

()
@GetMapping("/getUserInfo")    public Map getUserInfo(@RequestParam("pageNo") Integer pageNo,@RequestParam("pageSize") Integer pageSize){        if(null == pageNo){            pageNo = 1;        }        if(null == pageSize){            pageSize = 10;        }        List userList = new ArrayList();        userList.add(new User(1,"奥迪1",23,"123@qq.com","地址1"));        userList.add(new User(2,"奥迪2",23,"124@qq.com","地址2"));        userList.add(new User(3,"奥迪3",23,"124@qq.com","地址3"));        userList.add(new User(4,"奥迪4",23,"125@qq.com","地址4"));        userList.add(new User(5,"奥迪4",23,"126@qq.com","地址5"));        userList.add(new User(6,"奥迪5",23,"127@qq.com","地址6"));        userList.add(new User(7,"奥迪6",23,"128@qq.com","地址7"));        userList.add(new User(8,"奥迪7",23,"129@qq.com","地址8"));        userList.add(new User(9,"奥迪7",23,"1219@qq.com","地址9"));        userList.add(new User(10,"奥迪10",23,"1231@qq.com","地址10"));        userList.add(new User(11,"奥迪11",23,"1232@qq.com","地址11"));        Integer limit = (pageNo-1)*pageSize;        Integer totalSize = userList.size();        // 方法一        Integer totalPage = totalSize % pageSize == 0 ? totalSize / pageSize : totalSize / pageSize + 1;        // 方法二(推荐)其中 pageSize-1 就是 totalSize/pageSize 的最大的余数        // Integer totalPage = (totalSize + pageSize -1) / pageSize;        // 方法三        // Integer totalPage = (int) Math.ceil(totalSize / pageSize);        if(pageNo > totalPage){            throw new RuntimeException("页数超出了");        }        List subList = null;        if(pageNo == totalPage){            // 最后一页            subList = userList.subList(limit, totalSize);        }else{            Integer end= limit + pageSize;            // 截取的最后的下标            subList = userList.subList(limit, end);            // 出现空值处理            // subList = CollectionUtils.isEmpty(userList) ? new ArrayList() : userList.subList(limit, Math.min(userList.size(), end));        }        Map map = new HashMap();        map.put("data",subList);        map.put("total",userList.size());        subList.forEach(System.out::println);        return map;    }    static class User{        private Integer id;        private String name;        private Integer age;        private String email;        private String address;        public Integer getId() {            return id;        }        public void setId(Integer id) {            this.id = id;        }        public String getName() {            return name;        }        public void setName(String name) {            this.name = name;        }        public Integer getAge() {            return age;        }        public void setAge(Integer age) {            this.age = age;        }        public String getEmail() {            return email;        }        public void setEmail(String email) {            this.email = email;        }        public String getAddress() {            return address;        }        public void setAddress(String address) {            this.address = address;        }        public User(Integer id, String name, Integer age, String email, String address) {            this.id = id;            this.name = name;            this.age = age;            this.email = email;            this.address = address;        }        @Override        public String toString() {            return "User{" +                    "id='" + id + '\'' +                    ", name='" + name + '\'' +                    ", age=" + age +                    ", email='" + email + '\'' +                    ", address='" + address + '\'' +                    '}';        }    }

计算总页数方法

// totalPage 总页数,pageSize 每页显示多少条,totalSize 总条数// 方法一Integer totalPage = totalSize % pageSize == 0 ? totalSize / pageSize : totalSize / pageSize + 1;// 方法二(推荐)其中 pageSize-1 就是 totalSize/pageSize 的最大的余数// Integer totalPage = (totalSize + pageSize -1) / pageSize;// 方法三// Integer totalPage = (int) Math.ceil(totalSize / pageSize);

上一篇:怎么在服务器上获取session?

下一篇:淘汰服务器怎么用?