在开发中见到一种业务场景,大批量的执行数据会非常耗时,有一种策略就是分批次处理,每次处理一定的数据量,这样会提升处理数据的效率,下面的是我写的代码,上面都写了注释,如有疑问或者更好的思路,建议,请写道评论中,thankyou
这是我写的单元测试,代码可以直接用
@Test
public void testtheam() {
//向list中添加数据,用于后面的测试
List list = new ArrayList<>();
for (int i = 1; i < 17; i++) {
list.add(i);
}
//list的长度
int listSize = list.size();
//每5个元素生成一个新list
int toIndex = 5;
for (int i = 0; i < list.size(); i += 5) {
//不足5个元素的生成到一个list中
if (i + 5 > listSize) {
toIndex = listSize - i;
}
//生成新的list
List sublist=list.subList(i, i + toIndex);
Map<String,List> map=new HashMap<String,List>();
map.put("测试新生成的list:索引从"+i+"--到--"+toIndex, sublist);
JSONObject jsonObject = JSONObject.fromObject(map);
//3、将json对象转化为json字符串
String returnjson = jsonObject.toString();
System.out.println(returnjson );
}
}
这是控制台跑出来的数据结果,灰常nice
{"测试新生成的list:索引从0--到--5":[1,2,3,4,5]}
{"测试新生成的list:索引从5--到--5":[6,7,8,9,10]}
{"测试新生成的list:索引从10--到--5":[11,12,13,14,15]}
{"测试新生成的list:索引从15--到--1":[16]}