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;
    }

}
相关推荐
该怎么办呢4 分钟前
基于cesium的三维不动产登记系统的设计与实现(毕业设计)
java·毕业设计
J不A秃V头A36 分钟前
多任务执行时,共享请求对象被并发修改
java
heartbeat..43 分钟前
零基础学 SQL:DQL/DML/DDL/DCL 核心知识点汇总(附带连接云服务器数据库教程)
java·服务器·数据库·sql
编程武士1 小时前
Python 各版本主要变化速览
开发语言·python
hqwest1 小时前
码上通QT实战29--系统设置04-用户操作管理
开发语言·qt·模态窗体·addbindvalue·bindvalue
专注于大数据技术栈1 小时前
java学习--LinkedHashSet
java·开发语言·学习
这个图像胖嘟嘟1 小时前
前端开发的基本运行环境配置
开发语言·javascript·vue.js·react.js·typescript·npm·node.js
阿湯哥1 小时前
Spring AI Alibaba 实现 Workflow 全指南
java·人工智能·spring
星竹晨L2 小时前
【C++内存安全管理】智能指针的使用和原理
开发语言·c++
宵时待雨2 小时前
数据结构(初阶)笔记归纳3:顺序表的应用
c语言·开发语言·数据结构·笔记·算法