Привет Я новичок в java и пытаюсь понять архаиста. Я использую Arraylist theList и dummyValues . Я прочитал значения от theList и обновил значения поплавка в dummyValues . Мой фрагмент кода выглядит следующим образом `Проверить и добавить значения float в arraylist
public static void generateValues(ArrayList<Float> theList) {
for (int j = 0; j < theList.size(); j++) {
if (dummyValues.size()==0)
dummyValues.add(j, theList.get(j));
else
dummyValues.set(j, theList.get(j));
}
}
Я пытаюсь добавить значения в ArrayList dummyValues в первом состоянии и во втором состоянии, если размер dummyValues больше 0 просто обновить значение dummyValues . Я рассмотрел этот метод, чтобы избежать дублирования копий.
Но, когда я исполняю его я получаю следующее сообщение об ошибке:
java.lang.IndexOutOfBoundsException: Invalid индекс 1, размер 1
Ошибка возникает здесь dummyValues.set(j, theList.get(j));
Я знаю, что это тривиальная концепция, всякая помощь приветствуется
Вы уверены, что 'dummValues' и' theList' имеют одинаковый размер? иначе вы можете игнорировать значения или получить свое исключение. В этом конкретном случае кажется, что 'theList' больше, чем' dummyList'. – SomeJavaGuy
'dummyValues' имеет только один элемент. Но вы вызываете set для индекса 1 и т. Д., Так как есть только один элемент, который вы можете установить только для индекса 0 –
@FastSnail спасибо за информацию. Теперь я понимаю, что вы можете устанавливать только индексы, в которых есть элементы. Есть ли способ избежать дублирования элементов? – ADI