Добавление в повторяемый связанный набор? - PullRequest
0 голосов
/ 12 февраля 2019

У меня много трудностей в недавнем проекте для моего класса, где мы должны впервые реализовать универсальные шаблоны, интерфейсы, итераторы и абстрактные типы данных.По сути, нам нужно создать итеративный общий связанный список и сделать его функционирующим, как набор, но я изо всех сил пытаюсь просто добавить новый узел в список.Как добавить узел в связанный список с помощью итератора, если я не могу получить доступ к полям LinkedNode, и единственными методами в классе итератора являются remove () hasNext () и Next ()?Единственные общедоступные методы LinkedNode - это получение данных и получение ссылки, без модификаторов.Кроме того, поскольку это набор, я могу добавлять только элементы, которых еще нет в наборе.Вот код, который я придумал:

public Set<E> adjoin(E e) {
    LinkedSet<E> newSet = new LinkedSet<E>(head);
    LinkedNode<E> newNode = new LinkedNode<E>(e,head);

    for (E i : this) {
        if (i.equals(e)) {
            return this;
        }
    }

    return newSet;
}

Это все внутри класса LinkedSet, использующего приватный конструктор для создания другого LinkedSet для возврата

...