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: 0Ich 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));
 }

Antworten auf die Frage(4)

Ihre Antwort auf die Frage