Java: split a List into two sub-Lists?

后端 未结 14 1557
执笔经年
执笔经年 2020-12-08 02:29

What\'s the simplest, most standard, and/or most efficient way to split a List into two sub-Lists in Java? It\'s OK to mutate the original List, so no copying should be nece

14条回答
  •  慢半拍i
    慢半拍i (楼主)
    2020-12-08 03:14

    A generic function to split a list to a list of list of specific size. I was missing this for long in java collections.

    private List> splitList(List list, int maxListSize) {
            List> splittedList = new ArrayList>();
            int itemsRemaining = list.size();
            int start = 0;
    
            while (itemsRemaining != 0) {
                int end = itemsRemaining >= maxListSize ? (start + maxListSize) : itemsRemaining;
    
                splittedList.add(list.subList(start, end));
    
                int sizeOfFinalList = end - start;
                itemsRemaining = itemsRemaining - sizeOfFinalList;
                start = start + sizeOfFinalList;
            }
    
            return splittedList;
        }
    

提交回复
热议问题