业务:由于数据量过大 将编码分组进行带入查询 每十个一组 然后塞入到大结果集返回。
工具类:
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{...}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)