java 集合拆分成多个子集合

java 复制代码
package com.jiayou.peis.report.biz.utils;

import org.apache.poi.ss.formula.functions.T;

import java.util.ArrayList;
import java.util.List;

public class SplitListUtil {
    /**
     * 拆分集合
     * @param resultList 原集合
     * @param count  指定的长度
     * @return resultLists 拆分后的集合
     */
    public static List<List<String>> splitList(List<String> resultList, int count) {
        // 判断拆分的集合是否为空,或者拆分大小是否小于1,如果是,无法拆分
        if (resultList == null || count < 1) {
            return null;
        }
        List<List<String>> resultLists = new ArrayList<>();
        int size = resultList.size();
        // 判断集合是否大于拆分的长度,大于拆分,小于直接把原集合存入总集合
        if (size > count) {
            int pre = size / count;
            int last = size % count;
            //前面pre个集合,每个集合大小都是count个元素
            for (int i = 0; i < pre; i++) {
                List<String> itemList = new ArrayList<>();
                for (int j = 0; j < count; j++) {
                    itemList.add(resultList.get(i * count + j));
                }
                resultLists.add(itemList);
            }
            // 处理剩余不足count大小的数据
            if (last > 0) {
                List<String> itemList = new ArrayList<>();
                for (int i = 0; i < last; i++) {
                    itemList.add(resultList.get(pre * count + i));
                }
                resultLists.add(itemList);
            }
        } else {
            resultLists.add(resultList);
        }
        return resultLists;
    }

}
相关推荐
百***93502 分钟前
Tomcat报404问题解决方案大全(包括tomcat可以正常运行但是报404)
java·tomcat
qq_2813174711 分钟前
kubernetes(k8s)-pod生命周期
java·容器·kubernetes
IT界的奇葩19 分钟前
代码规范 spring-javaformat使用
java·spring·代码规范
披着羊皮不是狼27 分钟前
多用户跨学科交流系统(4)参数校验+分页搜索全流程的实现
java·spring boot
AI_56781 小时前
接口测试“零基础通关“:Postman从入门到自动化测试实战指南
开发语言·lua
是Yu欸1 小时前
Rust 并发实战:从零构建一个内存安全的“番茄时钟”
开发语言·安全·rust
小池先生1 小时前
Gradle vs Maven 详细对比
java·maven
q***23921 小时前
基于SpringBoot和PostGIS的云南与缅甸的千里边境线实战
java·spring boot·spring
q***78781 小时前
Spring Boot的项目结构
java·spring boot·后端
应用市场2 小时前
Qt QTreeView深度解析:从原理到实战应用
开发语言·数据库·qt