今天就跟大家聊聊有关java中怎么对list进行分页处理,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
import com.google.common.collect.Lists; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import java.util.Arrays; import java.util.List; import java.util.Optional; /** * 对list进行分页 */ @Getter @Setter @Builder @NoArgsConstructor @AllArgsConstructor public class PageResult<T> { private List<T> resultList; private String next; private long total; /** * 内存list分页 * 从开始遍历的话,start请输入"0" * 当返回的next为"0"时,表示到列表的末尾 * * @param start start * @param limit limit * @param list list * @param <T> T * @return PageResult */ public static <T> PageResult<T> pageList(int start, int limit, List<T> list) { List<T> safeList = Optional.ofNullable(list).orElseGet(Lists::newArrayList); int maxIndex = safeList.size(); int nextIndex = start + limit; int fromIndex = Math.min(start, maxIndex); int toIndex = Math.min(nextIndex, maxIndex); String next = toIndex == maxIndex ? "0" : String.valueOf(nextIndex); return PageResult.<T> builder() .resultList(safeList.subList(fromIndex, toIndex)) .next(next) .total(safeList.size()) .build(); } public static void main(String[] args) { PageResult<Integer> pageResult = PageResult.pageList(0, 2, Arrays.asList(1, 2, 3, 4, 5)); } }
看完上述内容,你们对java中怎么对list进行分页处理有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。