在本教程中,我们将探索基于固定最大大小对 Java 8 的 Stream 进行分区的各种技术。
我们将首先重新审视如何使用 List 来完成这项工作。随后,我们将通过引入 Stream 特有的功能,如延迟评估和线程安全性,来增强我们的方法。
2. List 的分区
在 Java 中,有多种分区 List 的方法。一种简单的方法是首先根据所需的批量大小和源列表的大小来确定所需的批次数量:
static ```````````<T>``````````` Stream<List```````````<T>```````````> partitionList(List```````````<T>``````````` source, int batchSize) {
int nrOfFullBatches = (source.size() - 1) / batchSize;
// ...
}
大约 8 分钟