一个List按照某个size分割为多个小的List

针对于List的size比较大,使用多线程处理任务时,可以将List分割为一个一个比较小的任务单元进行处理。

例如集合大小:645,按照100分割,会将集合分割为6个size为100的集合和一个size为45的集合,方便配合多线程处理。

实现代码如下:

public class SubListTest {
    public static void main(String[] args) {
        List list = new ArrayList();
        for (int i = 0; i < 645; i++) {
            list.add(i);
        }

        int index = 100;
        for (int i = 0; i < list.size(); i += 100) {
            if (i + 100 > list.size()) {        
                index = list.size() - i;
            }
            List newList = list.subList(i, i + index);
            System.out.println("size:"+newList.size());
        }
    }
}

输出结果:

size: 100
size: 100
size: 100
size: 100
size: 100
size: 100
size: 45

猜你喜欢

转载自www.cnblogs.com/chsoul/p/12945298.html