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

}
相关推荐
一个小坑货1 分钟前
Rust 的简介
开发语言·后端·rust
shuangrenlong2 分钟前
slice介绍slice查看器
java·ubuntu
牧竹子2 分钟前
对原jar包解压后修改原class文件后重新打包为jar
java·jar
湫ccc9 分钟前
《Python基础》之基本数据类型
开发语言·python
Matlab精灵10 分钟前
Matlab函数中的隐马尔可夫模型
开发语言·matlab·统计学习
Microsoft Word11 分钟前
c++基础语法
开发语言·c++·算法
数据小爬虫@13 分钟前
如何利用java爬虫获得淘宝商品评论
java·开发语言·爬虫
喜欢猪猪15 分钟前
面试题---深入源码理解MQ长轮询优化机制
java
qq_1728055921 分钟前
RUST学习教程-安装教程
开发语言·学习·rust·安装
wjs202428 分钟前
MongoDB 更新集合名
开发语言