java中的列表(ArrayList)遍历

java中的列表(ArrayList)遍历,java,collections,Java,Collections,例如,假设我有一个包含45个元素的列表,我需要从中创建一组包含10个元素的列表,这意味着如果主列表有45个元素,那么它将包含4组10个元素,1组包含5个元素,所以最后我将得到5个列表。在创建列表之后,我需要调用一个函数。该函数将被调用5次 谁能提供解决方案 提前谢谢 vinod列表。java中的subList函数应执行此操作列表。java中的subList函数应执行此操作基于Deepak的答案: 如果您有一个列表,并且希望调用大小为10个块的函数调用,则可以使用以下代码: for (int id

例如,假设我有一个包含45个元素的列表,我需要从中创建一组包含10个元素的列表,这意味着如果主列表有45个元素,那么它将包含4组10个元素,1组包含5个元素,所以最后我将得到5个列表。在创建列表之后,我需要调用一个函数。该函数将被调用5次

谁能提供解决方案

提前谢谢
vinod

列表。java中的subList函数应执行此操作

列表。java中的subList函数应执行此操作

基于Deepak的答案:

如果您有一个列表,并且希望调用大小为10个块的函数调用,则可以使用以下代码:

for (int idx = 0; idx < list.size(); idx += 10) {
    List<?> subList = list.subList(idx, Math.min(list.size(), idx + 10));
    call(subList);
}

以Deepak的答案为基础:

如果您有一个列表,并且希望调用大小为10个块的函数调用,则可以使用以下代码:

for (int idx = 0; idx < list.size(); idx += 10) {
    List<?> subList = list.subList(idx, Math.min(list.size(), idx + 10));
    call(subList);
}
只有以下方法适合您:

示例用法:

只有以下方法适合您:

示例用法:


@Vinod.您可以查看@Howard@Vinod.you可以检查@Howard提供的逻辑确保不更改原始列表,或call方法中的子列表或同时更改,否则会产生混淆。确保不更改原始列表,或call方法中的子列表或同时更改,否则你会感到困惑。
List<String> list = // initialize List
for(List<String> subList : Iterables.partition(list, 10)){
    // do something with the list
}