java 订单按距离分组,【Java工具方法】给集合按数量分组

本文介绍了一个实用的Java方法,用于将List按指定数量进行分组,适用于大数据集的批量处理或提高并发处理效率。通过使用ArrayList的subList方法,实现了对List的高效切割,避免一次性加载大量数据,从而提升程序性能。
摘要由CSDN通过智能技术生成

有时候需要给集合(如List)按数量分组,比如全集太大时,需要分批处理;或效率有点低,分批并发处理。于是,写了个将List按数量分组的方法。

package controller;

import java.util.ArrayList;

import java.util.List;

public class ListGrouper{

/**

* 将集合按指定数量分组

* @param list 数据集合

* @param quantity 分组数量

* @return 分组结果

*/

public static List> groupListByQuantity(List list, int quantity) {

if (list == null || list.size() == 0) {

return null;

}

if (quantity <= 0) {

new IllegalArgumentException("Wrong quantity.");

}

List> wrapList = new ArrayList>();

int count = 0;

while (count < list.size()) {

wrapList.add(new ArrayList(list.subList(count, (count + quantity) > list.size() ? list.size() : count + quantity)));

count += quantity;

}

return wrapList;

}

public static void main(String[] args) {

List list = new ArrayList();

for (int i = 1; i <= 1011; i++) {

list.add(i);

}

List> resultList = ListGrouper.groupListByQuantity(list, 50);

for (List l : resultList) {

System.out.println(l);

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值