当前位置: 代码网 > it编程>编程语言>Java > java对list集合进行分页的四种写法总结

java对list集合进行分页的四种写法总结

2025年05月25日 Java 我要评论
java对list集合进行分页的写法假设有一个list数组,因为总数过大,在进行查询或者调用外部接口时,需要对其进行分页处理,可以用以下几种方式进行处理eq:list<string> b

java对list集合进行分页的写法

假设有一个list数组,因为总数过大,在进行查询或者调用外部接口时,需要对其进行分页处理,可以用以下几种方式进行处理

eq:

list<string>  biglist=lists.newarraylist("a","b","c","d","e","f","g","h");

1. sublist分页【java.util.list.sublist(int fromindex,int toindex)】

 int pagesize=3;//每页大小
 int count=biglist.size();//总list
 int totalpage=(int)((count/pagesize)+(count % pagesize >0?1:0));//总页数
 for(int i=1;i<=totalpage;i++){
 	list<string> smalllist=biglist.sublist(pagesize*(i-1),math.min(pagesize*i,count));//截取对应范围数据
 	system.out.println(smalllist.tostring());
 }

2. partition分页【com.google.com.collect.lists.partition(list list,int size) 】

int pagesize=3;//每页大小
list<list<string>> partitionlist=lists.partition(biglist,pagesize);//进行分页
for(list<string> smalllist:partitionlist){
	system.out.println(smalllist.tostring());
}

3. java8 stream流 分页

  
 int pagesize=3;//每页大小
 int count=biglist.size();//总list
 int totalpage=(int)((count/pagesize)+(count % pagesize >0?1:0));//总页数
 // 使用 stream 实现分页
 	for(int i=1;i<=totalpage;i++){
        list<string> smalllist= biglist.stream()
                .skip(pagesize*(i-1)) // 跳过前 pagesize*(i-1) 个元素
                .limit(pagesize)    // 限制结果数量为 pagesize
                .collect(collectors.tolist()); //结果为列表
         system.out.println(smalllist.tostring());
        }

4. hutool工具类提供的方法listutil.split(list list,int size)

实际内部实现还是sublist分页

int pagesize=3;//每页大小
list<list<string>> splitlist=listutil.split(biglist,pagesize);//biglist 需处理的列表,pagesize分页长度
for(list<string> smalllist:splitlist){
	system.out.println(smalllist.tostring());
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com