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 

此代码仅用于显示过程。它写得很快,因此需要进行调整以适合您的应用程序。

上述问题的全部内容,不知道朋友们都了解的怎样了。在技术编写过程中如果遇到什么不懂的,可以随时来给爱站技术频道小编留言。

上一篇:jpaQuery.setParameter的使用教程

下一篇:Powershell远程安装Java怎么实现

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载