【发布时间】:2021-04-15 16:19:03
【问题描述】:
我有一个 String 类型的 Collection,其中包含 0 到 10k 个值。 我正在寻找一种优雅或可重用的方法来编写一个方法,该方法接受 String 类型的 Collection 和批量大小,并将集合拆分为提供的批量大小的较小块。
我能想到的最佳解决方案是:
private static <T> Collection<Collection<T>> getBatches( List<T> collection, int batchSize ){
return IntStream.iterate(0, i -> i < collection.size(), i -> i + batchSize)
.mapToObj(i -> collection.subList(i, Math.min(i + batchSize, collection.size())))
.collect(Collectors.toList());
}
一些担忧:
- 我想接收一个 String 类型的 Collection 并返回一个 String 类型的 Collection 或一个 String 类型的 Collection 列表。
- 我想知道这个逻辑是否适用于任何缺点或边缘情况。
【问题讨论】:
标签: java collections chunks