java中,对一个集合每循环20次调用接口服务,请大侠指教!
有一个List<Map<String,Object>>lists集合,这个集合的size不能确定。现在想把这个集合中每隔20个元素拿出来调用一次接口,假如:lists的长...
有一个List<Map<String,Object>> lists 集合,这个集合的size不能确定。现在想把这个集合中每隔20个元素拿出来调用一次接口,假如:lists的长度小于等于20,那么直接调用接口,lists的长度大于20则先把前20个汇总成List调用接口,再把剩下的汇总调用接口,如果剩下的还大于20,则跟前边一样,继续先取出20个调用接口,以此类推!这个循环和判断该怎么写?
展开
2个回答
展开全部
List<Map<String,Object>> temp ;
int size = lists.size();
int maxCount = 20;
if(size<=maxCount ){
//直接调用接口
}else{
int count = size/maxCount ;
if(count%maxCount >0){
count++;
}
for(int i=0;i<count;i++){
temp = new ArrayList<<Map<String,Object>>();
for(int j=0;j<maxCount ;i++){
temp.add(lists.get(i*maxCount+j));
}
//调用接口
temp = null;
}
}
int size = lists.size();
int maxCount = 20;
if(size<=maxCount ){
//直接调用接口
}else{
int count = size/maxCount ;
if(count%maxCount >0){
count++;
}
for(int i=0;i<count;i++){
temp = new ArrayList<<Map<String,Object>>();
for(int j=0;j<maxCount ;i++){
temp.add(lists.get(i*maxCount+j));
}
//调用接口
temp = null;
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
List<Map<String,Object>> temp ;
int size = lists.size();
int maxCount = 20;
if((size+1) % maxCount != 0){ //因为size是从0开始的下标要+1
//直接调用接口
}else{
int count = size/maxCount ;
if(count%maxCount >0){
count++;
}
for(int i=0;i<count;i++){
temp = new ArrayList<<Map<String,Object>>();
for(int j=0;j<maxCount ;i++){
temp.add(lists.get(i*maxCount+j));
}
//调用接口
temp = null;
}
}
int size = lists.size();
int maxCount = 20;
if((size+1) % maxCount != 0){ //因为size是从0开始的下标要+1
//直接调用接口
}else{
int count = size/maxCount ;
if(count%maxCount >0){
count++;
}
for(int i=0;i<count;i++){
temp = new ArrayList<<Map<String,Object>>();
for(int j=0;j<maxCount ;i++){
temp.add(lists.get(i*maxCount+j));
}
//调用接口
temp = null;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询