一、通过Stream的 skip() 和 limit() 方法组合分页
import java.lang.Math;
import java.util.*;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<String> names=new ArrayList();
names.add("a");
names.add("b");
names.add("c");
names.add("d");
names.add("e");
names.add("f");
names.add("g");
names.add("h");
names.add("i");
names.add("j");
names.add("k");
int total=names.size();
int pageSize=3;
/*两种页数计算方式都可以:1.取余计算 2.向上取整*/
int pages = total % pageSize == 0 ? total / pageSize : total / pageSize + 1;
// int pages= (int)Math.ceil(Double.valueOf(total)/pageSize);
for(int pageNo = 1;pageNo <= pages;pageNo++){
List<String> subName=names.stream().skip((pageNo-1)*pageSize).limit(pageSize).collect(Collectors.toList());
System.out.println(subName);
}
}
}
二、通过数组的 subList() 方法
import java.lang.Math;
import java.util.*;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<String> names=new ArrayList();
names.add("a");
names.add("b");
names.add("c");
names.add("d");
names.add("e");
names.add("f");
names.add("g");
names.add("h");
names.add("i");
names.add("j");
names.add("k");
int total=names.size();
int pageSize=3;
/*两种页数计算方式都可以:1.取余计算 2.向上取整*/
int pages = total % pageSize == 0 ? total / pageSize : total / pageSize + 1;
// int pages= (int)Math.ceil(Double.valueOf(total)/pageSize);
for(int pageNo=1;pageNo <= pages;pageNo++){
List<String> subName;
if (pageNo==pages){
subName=names.subList((pageNo-1)*pageSize,total);
} else {
subName=names.subList((pageNo-1)*pageSize,pageNo*pageSize);
}
System.out.println(subName);
}
}
}
最后
以上就是鲜艳耳机最近收集整理的关于java的list分页的方法的全部内容,更多相关java内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复