温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java中怎么对list进行分页处理

发布时间:2021-06-30 17:41:48 来源:亿速云 阅读:1289 作者:Leah 栏目:大数据

今天就跟大家聊聊有关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进行分页处理有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI