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

}
相关推荐
武帝为此2 分钟前
【Java网络编程详解】
java·开发语言·网络
xnian_3 分钟前
策略模式实际用处,改吧改吧直接用,两种方式
java·服务器·前端
Protein_zmm7 分钟前
[Linux系统编程]多线程
java·linux·jvm
林璟涵13 分钟前
Rust语言的系统运维
开发语言·后端·golang
海棠蚀omo15 分钟前
C++笔记-string(下)
开发语言·c++·笔记
字节源流17 分钟前
【Spring Cloud Netflix】GateWay服务网关
java·运维·gateway
褚眠莘24 分钟前
C#语言的加密货币
开发语言·后端·golang
爱的叹息25 分钟前
关于Spring MVC中@RequestParam注解的详细说明,用于在前后端参数名称不一致时实现参数映射。包含代码示例和总结表格
java·spring·mvc
ChinaRainbowSea37 分钟前
5. RabbitMQ 消息队列中 Exchanges(交换机) 的详细说明
java·分布式·后端·rabbitmq·ruby·java-rabbitmq
ml130185288741 小时前
开发一个小程序需要多久时间?小程序软件开发周期
java·小程序·开源软件·软件需求