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 ){ //作用为fetchSize最后没有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 }
参考自:https://www.cnblogs.com/blmlove/p/12976934.html
