Java怎么处理列表返回时让其合并
来源:爱站网时间:2021-12-31编辑:网友分享
有朋友提出如果Java 8将列表拆分为大块进行处理,并在返回结果之前将其合并回来需要怎么处理?为了这个问题,爱站技术频道小编特地整理了以下相关资料,感兴趣的小伙伴可以过来参考下。
问题描述
我开始在Java 8中使用流,并且我想做一些可能应该做的事情,但是似乎无法解决它。
我必须从我的服务打到可以最多处理500个唯一ID和给定时间的外部服务。我的服务可以在给定时间接收任意数量的信息。
我正在寻找一种简短且精确的方法来将传入ID列表拆分为500个大小,调用外部服务并合并它们,然后再返回结果(如果可以并行执行,请加分,再奖励)
private List makeServiceCallByBatch(List ids,AuthToken authToken){
//make external call and get reply
}
public List makeServiceCall(List ids,AuthToken authToken){
private int BATCH_SIZE = 500;
if(ids.size() > BATCH_SIZE){
//split by batch and process each batch and merge it all
} else{
return makeServiceCallByBatch(ids,authToken)
}
}
思路一:
您可能会发现本文有帮助:Divide a list to lists of n size in Java 8
思路二:
List
具有sublist(int fromIndex, int toIndex)
方法,该方法使您可以在较大的sublist(int fromIndex, int toIndex)
中仅获取特定范围内对象的List
。您可以使用它以List
的间隔从完整的List
中拉出List
。所以像-
500
思路三:
这是一种实现方法:
int index = 0;
int batchSize = 500;
while (index
此代码仅用于显示过程。它写得很快,因此需要进行调整以适合您的应用程序。
上述问题的全部内容,不知道朋友们都了解的怎样了。在技术编写过程中如果遇到什么不懂的,可以随时来给爱站技术频道小编留言。