有一個ArrayList<Integer> al
,我想將其前半部分複製到另一個ArrayList<Integer> firstHalf
。 (如果al有奇數個元素,則firstHalf
應該有一個元素。)但是,下面的代碼會拋出IndexOutOfBoundsException
,並且說Index: 0, Size: 0
,但我不確定這會是一個問題,因爲ArrayLists的索引啓動在0.另外,我知道.arraycopy
,但我想這樣做,用for-loops。複製ArrayList的前半部分
int x = al.size()/2 + (al.size()%2) - 1;
for(int i = 0; i < x; i++){
firstHalf.set(i, al.get(i));
}
考慮使用'subList'。 –
@SotiriosDelimanolis注意:'subList()'返回原始列表的「視圖」,而不是副本。所以你需要像'firstHalf = new ArrayList(al.subList(0,newSize));' – millimoose