How to split array list into equal parts?

前端 未结 9 1298
攒了一身酷
攒了一身酷 2020-11-29 07:20

Is there anyway to split ArrayList into different parts without knowing size of it until runtime? I know there is a method called:

list.subList(a,b);
         


        
9条回答
  •  隐瞒了意图╮
    2020-11-29 08:13

    generic method for your help :

    private static List> createBatch(List originalList,
            int chunkSize) {
        List> listOfChunks = new ArrayList>();
        for (int i = 0; i < originalList.size() / chunkSize; i++) {
            listOfChunks.add(originalList.subList(i * chunkSize, i * chunkSize
                    + chunkSize));
        }
        if (originalList.size() % chunkSize != 0) {
            listOfChunks.add(originalList.subList(originalList.size()
                    - originalList.size() % chunkSize, originalList.size()));
        }
        return listOfChunks;
    
        

    提交回复
    热议问题