具有批处理功能的 Java 8 流
2022-08-31 08:58:50
我有一个大文件,其中包含一个项目列表。
我想创建一批项目,用这个批次发出HTTP请求(所有项目都需要作为HTTP请求中的参数)。我可以通过循环非常容易地做到这一点,但是作为Java 8的爱好者,我想尝试使用Java 8的Stream框架来编写它(并从惰性处理中获益)。for
例:
List<String> batch = new ArrayList<>(BATCH_SIZE);
for (int i = 0; i < data.size(); i++) {
batch.add(data.get(i));
if (batch.size() == BATCH_SIZE) process(batch);
}
if (batch.size() > 0) process(batch);
我想做一些长线的事情lazyFileStream.group(500).map(processBatch).collect(toList())
最好的方法是什么?