Всем здравствовать. Вопрос назрел, помогите, пожалуйста.
Код | int w; ... LinkedList list1 = new LinkedList(); LinkedList list2 new LinkedList(); ... for(int qB = 0; qB < purged.size(); qB++){ for(int qA = 0; qA < purged.size(); qA++){ if(list1.get(qA).getValue() - list2.get(qB).getValue() > w){ list2.remove(qB); list2.add(qB, new DataTuple(qB, element));//без этой строки будет IndexOutOfBoundsException } } }
|
Как вообще в принципе в такой ситуации действовать? Только ловить исключение нельзя, должны быть удалены все элементы удвлетворяющие условию, а оператор remove() вычитает индексы и уменьшает список, видимо поэтому индексы растут соответственно первому значению. Или все-таки лыжи не едут? |