把数据list分割成list/len组,每组len条数据

package com.jst.prodution.movedata.controller;


import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;


import com.alibaba.fastjson.JSON;
import com.jst.prodution.movedata.bean.UserinfoUseridRef;
import com.jst.prodution.movedata.utils.SplitListUtil;


public class Test {


public static void main(String[] args) {
List<UserinfoUseridRef> list = new ArrayList<UserinfoUseridRef>();

UserinfoUseridRef ref = new UserinfoUseridRef();
ref.setBalance(new BigDecimal(100));
ref.setId(10000L);
ref.setUserid("1111111111");
list.add(ref);
ref = new UserinfoUseridRef();
ref.setBalance(new BigDecimal(200));
ref.setId(20000L);
ref.setUserid("222222222");
list.add(ref);
ref = new UserinfoUseridRef();
ref.setBalance(new BigDecimal(300));
ref.setId(30000L);
ref.setUserid("3333333333");
list.add(ref);
ref = new UserinfoUseridRef();
ref.setBalance(new BigDecimal(400));
ref.setId(40000L);
ref.setUserid("44444444444");
list.add(ref);
ref = new UserinfoUseridRef();
ref.setBalance(new BigDecimal(500));
ref.setId(50000L);
ref.setUserid("55555555555");
list.add(ref);


//splitList --> 把数据list分割成list/len组,每组len条数据
List<?> user = SplitListUtil.splitList(list, 2);
int batch = 2; //把分割的数个批次的数据按批次数执行 ,这个数字为执行第几批次
boolean exBatch = false;  // 是否执行剩余的数据
if(batch > 0 && exBatch){
//删除之前执行过的记录
user.subList(0, batch).clear(); 
}

System.out.println("all="+JSON.toJSONString(user));

if(batch >= 0 && !exBatch){

//执行指定批次的数据

for(int i = batch-1;i< batch;i++){
List<UserinfoUseridRef> uur = new ArrayList<>();
uur = (List<UserinfoUseridRef>) user.get(i);
System.out.println("s="+JSON.toJSONString(uur));

for(UserinfoUseridRef ur : uur){
System.out.println("e="+JSON.toJSONString(ur));
}
}

}else{

      // 执行剩余批次的数据

for(int i = 0;i< user.size();i++){
List<UserinfoUseridRef> uur = new ArrayList<>();
uur = (List<UserinfoUseridRef>) user.get(i);
System.out.println("2211="+JSON.toJSONString(uur));

for(UserinfoUseridRef ur : uur){
System.out.println("2222="+JSON.toJSONString(ur));
}
}
}

}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值