java restrict列表项

时间:2017-08-14 22:23:39

标签: java

我是java的新手。我在列表中有5000个项目。我想遍历列表,这样我一次可以获得100个项目。我有以下代码:

   List<ProcessQueueBatch> processQueueBatchList = 
        Repository.getProcessQueue("Jor");
for (ProcessQueueBatch queueBatch : processQueueBatchList) 

   {
    // do some processing



   }

我想处理列表中的前100个项目,然后处理接下来的100个项目,然后再处理100个项目,直到处理完所有5000个项目。我在列表中共有5000个项目。如何修改for循环或列表,以便我一次可以获得100个项目。

任何帮助将不胜感激。

2 个答案:

答案 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.

如果您需要进行一些过滤,这将有所帮助。