java 每次從List中提取100條記錄
阿新 • • 發佈:2021-12-11
java 每次從List中提取100條記錄;
常用於介面請求引數組裝;
例如企業微信考勤介面要求:
1. 獲取記錄時間跨度不超過30天
2. 使用者列表不超過100個。若使用者超過100個,請分批獲取
3. 有打卡記錄即可獲取打卡資料,與當前”打卡應用”是否開啟無關
4. 標準打卡時間只對於固定排班和自定義排班兩種型別有效
5. 介面呼叫頻率限制為600次/分鐘
1 import java.util.ArrayList; 2 import java.util.List; 3 4 /** 5 * @ClassName: ListFetchSub 6 * @Desc: 每次從List中提取100條記錄7 * @author: hatebugs 8 * @date: 2021年12月11日 下午2:16:27 9 */ 10 public class ListFetchSub { 11 12 public static void main(String[] args) { 13 ListFetchSub test = new ListFetchSub(); 14 ArrayList list =new ArrayList<>(); 15 for(int i=1;i<=1260;i++){ 16 list.add(i);17 } 18 test.groupList(list, 100); 19 } 20 21 public void groupList(List list, int size){ 22 int listSize=list.size(); 23 int fetchSize = size; 24 int keyToken = 0; 25 for(int i = 0;i<list.size();i+=fetchSize){ 26 if( i + fetchSize > listSize ){ //作用為toIndex最後沒有100條資料則剩餘幾條newList中就裝幾條 27 fetchSize = listSize - i; 28 } 29 List newList = list.subList(i,i+fetchSize); 30 System.out.println("******" + newList.toString()); 31 keyToken++; 32 } 33 } 34 }