Копирование первой половины ArrayList
ЕстьArrayList<Integer> al
и я хочу скопировать первую половину его элементов в другуюArrayList<Integer> firstHalf
, (Если al имеет нечетное количество элементов,firstHalf
должен иметь еще один элемент.) Однако следующий код выдаетIndexOutOfBoundsException
и говоритIndex: 0, Size: 0
Хотя я не уверен, как это может быть проблемой, так как индексы ArrayLists начинаются с 0. Кроме того, я знаю о.arraycopy
, но я хотел бы сделать это таким образом, с циклами for.
int x = al.size()/2 + (al.size()%2) - 1;
for(int i = 0; i < x; i++){
firstHalf.set(i, al.get(i));
}