要添加到可迭代的链接集中吗?

时间:2019-02-12 20:41:52

标签: java linked-list iterator

在我的班级的一个新项目中,我遇到了很多困难,在这个项目中,我们必须一次同时实现泛型,接口,迭代器和抽象数据类型。基本上,我们需要创建一个可迭代的,通用的链表,并使它像集合一样起作用,但是我一直在努力仅将新节点添加到列表中。当我无法访问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返回

0 个答案:

没有答案