我是java的新手。我在列表中有5000个项目。我想遍历列表,这样我一次可以获得100个项目。我有以下代码:
List<ProcessQueueBatch> processQueueBatchList =
Repository.getProcessQueue("Jor");
for (ProcessQueueBatch queueBatch : processQueueBatchList)
{
// do some processing
}
我想处理列表中的前100个项目,然后处理接下来的100个项目,然后再处理100个项目,直到处理完所有5000个项目。我在列表中共有5000个项目。如何修改for循环或列表,以便我一次可以获得100个项目。
任何帮助将不胜感激。
答案 0 :(得分:0)
您可以使用List.subList(int, int)
来获取K
中的第一个processQueueBatchList
项,如下所示:
int K = 100;
List<ProcessQueueBatch> newList = new ArrayList<>(processQueueBatchList.subList(0, K));
你应该可以从这里拿走它......
答案 1 :(得分:0)
如果您选择List
支持,则始终List::subList。
还有使用Stream
的实现。例如:
myList.stream()
.skip(10) // Skip the first 'n' elements.
.limit(100) // Limit the return size.
.collect(Collectors.toList()); // Collect however you see fit.
如果您需要进行一些过滤,这将有所帮助。