天天看點

向list中添加批量資料然後拿出來每5條執行

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