标题基本上说明了我要解决的问题。现在,我将元素添加到列表中,但是将它们添加到列表的开始而不是末尾,并且我想将它们添加到末尾,但是我不知道现在如何。这是我的两个类(元素/链表)的外观:

清单元素:

public class ListElement<E> {

public ListElement<E> next;
public E data;

public ListElement(E data) {
    next = null;
    this.data = data;

    }
}


使用元素添加到列表中:

public class OptimizedLog<E> implements Iterator<E> {
public ListElement<E> list;

public OptimizedLog() {
    list = null;
}


public void add(E data) {
    ListElement<E> le = new ListElement<E> (data);
    le.next = list; // next becomes null
    list = le; // list becomes le
}


有人有任何建议吗?

最佳答案

您可以使用以下代码:

public void addFirst(E data) {
    ListElement<E> le = new ListElement<E>(data);
    le.next = list;
    list = le;
}

public void addLast(E data) {
    if (list == null) {
        addFirst(data);
        return;
    }
    ListElement<E> current = list;
    while (current.next != null) {
        current = current.next;
    }

    ListElement<E> le = new ListElement<E>(data);
    current.next = le;
}


但是,为什么不为该任务使用标准的Java数据结构呢?

10-05 18:45