栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java List分组

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java List分组

业务:由于数据量过大 将编码分组进行带入查询 每十个一组 然后塞入到大结果集返回。

工具类:

package net.base.util;

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


public class GroupingUtil {

    
    public  List> grouping(List list, Integer n) {

        // 求余数
        int yushu = list.size() % n;
        // 求分组数
        int count0 = list.size() / n;

        boolean flag = false;

        if(yushu>=n/1){
            flag=true;
        }

        List> data = new ArrayList<>();
        // 获取多余list
        List sub = new ArrayList<>(list.subList(list.size() - yushu , list.size()));
        // 遍历list到余数前
        for (int i = 0; i < count0+1; i++) {
            List ls ;
            if(flag){
                if(i==count0){
                    break;
                }
                ls = new ArrayList<>(list.subList(i * n, i * n + n));
                // 将余出的数据加入分组
                if (i < sub.size()) {
                    ls.add(sub.get(i));
                }
            }else{
                int endex = i * n + n;
                if(endex>=list.size()){
                    endex=list.size();
                }

                ls = new ArrayList<>(list.subList(i * n, endex));
            }
            if(ls.size()!=0){
                data.add(ls);
            }
        }
        return data;
    }
}

实现:

 //由于数据量过大 将编码分组进行带入查询  每十个一组  然后塞入到大结果集返回
        GroupingUtil groupingUtil = new GroupingUtil();
         List> group =  groupingUtil.grouping(coalMine,10);
         for{...}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/686929.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号