我的源LinkedList
有20300個項目。我需要分別將這個列表分爲每2500個項目的子列表,剩下的值(在這種情況下爲300)應該出現在最後的List
中。根據列表中的項目數,將LinkedList分成多個列表
請讓我知道我該如何做到這一點?
下面的代碼工作正常,除了最後300個值,它拋出的錯誤..
private static List<List<String>> split(LinkedList<String> src, int maxSize){
List<List<String>> splittedList = new ArrayList<List<String>>();
int itemsRemaining = src.size();
int start = 0;
while (itemsRemaining != 0) {
int end = itemsRemaining >= maxSize ? (start + maxSize) : itemsRemaining;
splittedList.add(src.subList(start, end));
int sizeOfFinalList = end - start;
itemsRemaining = itemsRemaining - sizeOfFinalList;
start = start + sizeOfFinalList;
}
return splittedList;
}
你試過了什麼? – Shamse
你會得到什麼錯誤?在發生錯誤時,開始和結束的價值是多少? – Freiheit
@Freiheit收到的錯誤是線程「main」中的異常java.lang.IllegalArgumentException:fromIndex(6)> toIndex(2) \t at java.util.SubList。(Unknown Source) \t at java.util.AbstractList.subList(Unknown Source) –
Mahiz