У меня много трудностей в недавнем проекте для моего класса, где мы должны впервые реализовать универсальные шаблоны, интерфейсы, итераторы и абстрактные типы данных.По сути, нам нужно создать итеративный общий связанный список и сделать его функционирующим, как набор, но я изо всех сил пытаюсь просто добавить новый узел в список.Как добавить узел в связанный список с помощью итератора, если я не могу получить доступ к полям 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 для возврата