@FlaIDzeres

Как реализовать удаление элемента из коллекции Java?

Не могу понять в чем ошибка. Удаляю элемент коллекции через итератор ( где то читал что безопасное удаление ), но выпадает исключение java.lang.UnsupportedOperationException.
Но итератор от списка должен поддерживать метод remove(); (метод не завершен так что не принципиально что он всегда возвращает false)
public boolean find(List x, List y) {
        List z=new LinkedList();
        Object obj1;
        Object obj2;
        Iterator iteratorX =x.iterator();
        Iterator iteratorY =y.iterator();

        try {

            while (iteratorX.hasNext()){
                obj1=iteratorX.next();
                while (iteratorY.hasNext()){
                    obj2=iteratorY.next();
                   if(obj1.equals(obj2)){
                        System.out.println(obj2);
                        z.add(obj2);
                       iteratorY.remove();
                        break;
                    }
                    else {
                       iteratorY.remove();
                       break;
                    }
                }  
            }

        }
        catch (Exception e){
            System.out.print(e.getMessage());
        }
        return false;
    }


Класс Main
import java.util.Arrays;

public class Main
{
    public static void main(String[] args) {
        Subsequence s = new SubsequenceImpl();
        boolean b = s.find(Arrays.asList("A", "B", "C", "D"),Arrays.asList("A", "ABC", "B", "M", "D", "M", "C","DC", "D"));
        System.out.println(b); // Результат: true

    }
  • Вопрос задан
  • 8948 просмотров
Пригласить эксперта
Ответы на вопрос 1
@tsegorah
Попробуйте воспользоваться ListIterator , он поддерживает операцию удаления, но с ограничениями, рекомендую почитать javadoc.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы