Как видно из названия, у меня есть два ArrayList.Как ни странно, установка значения для одного массива изменяет его для другого.
Некоторая информация: это ArrayLists типа Entry, каждый из которых содержит количество и значение (что вы видите в скобках).Я пытаюсь превратить этот массив: [(5,2) (2,5) (3,2)]
в эти [(1,2)] и [(4,2) (2, 5) (3,2)].я == 1 в этом случае, а остальные Амт == 1.
ArrayList<Entry> firstHalf = new ArrayList<Entry>();
ArrayList<Entry> secondHalf = new ArrayList<Entry>();
for(int j = 0; j<=i;j++){
firstHalf.add(rleAL.get(j));
}
for(int k = i; k<rleAL.size(); k++){
secondHalf.add(rleAL.get(k));
}
System.out.println(firstHalf);//gives (5,2)
firstHalf.get(i).setAmount(remainingAmt);
System.out.println(firstHalf);//gives (1,2) *CORRECT*
secondHalf.get(0).setAmount(rleAL.get(i).getAmount() - remainingAmt);
System.out.println(firstHalf);//gives (0,2) *WRONG*