在開發中見到一種業務場景,大批量的執行資料會非常耗時,有一種政策就是分批次處理,每次處理一定的資料量,這樣會提升處理資料的效率,下面的是我寫的代碼,上面都寫了注釋,如有疑問或者更好的思路,建議,請寫道評論中,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]}