Kopieren der ersten Hälfte einer ArrayList
Da ist einArrayList<Integer> al
, und ich möchte die erste Hälfte seiner Elemente in eine andere kopierenArrayList<Integer> firstHalf
. (Wenn al eine ungerade Anzahl von Elementen hat,firstHalf
sollte ein weiteres Element haben.) Der folgende Code wirft jedoch einIndexOutOfBoundsException
, und sagtIndex: 0, Size: 0
Ich bin mir jedoch nicht sicher, wie das ein Problem sein könnte, da die Indizes von ArrayLists bei 0 beginnen.arraycopy
, aber ich würde es gerne so machen, mit for-loops.
int x = al.size()/2 + (al.size()%2) - 1;
for(int i = 0; i < x; i++){
firstHalf.set(i, al.get(i));
}