Ale*_*ire 2 java implementation list
首先,我过去几周一直在研究Java,所以我还没有太多的经验.
这更像是一个理论问题.我想创建一个简单的列表.
所以首先我创建了一个我指定了一些方法的类.我希望它是通用的,所以我可以使用任何类型.
public interface List<E>
Run Code Online (Sandbox Code Playgroud)
现在我需要实现它,所以我创建了:
public class MyList<E> implements List<E>
Run Code Online (Sandbox Code Playgroud)
现在,我需要两个属性:
private E element;
private MyList<E> next;
Run Code Online (Sandbox Code Playgroud)
一个将保持我的泛型类型,另一个将是下一个元素的链接.首先,我不知道这是否是正确的写作方式.如果我把这个属性留在这个类中,它会正常工作吗?
其次,我一直在考虑是否最好创建另一个类,比如一个Box类,它将包含这两个字段,从而在我的实现过程中使操作更容易.
可能是一个愚蠢的问题,但我正在努力学习并了解实现这一目标的最佳方法.
谢谢你的时间.
我想你正在尝试实现一个单链表.现在回答你的问题,我认为你创建一个Box像你提到的(通常称为Node)类是有益的.所以你的实现可能如下所示:
public class MyList<E> implements List<E> {
private Node<E> head;
private static class Node<E> {
private E element;
private Node<E> next;
public Node(E element, Node<E> next) {
this.element = element;
this.next = next;
}
// ...
}
// ...
}
Run Code Online (Sandbox Code Playgroud)
MyList将持有一个Node连接到其他Nodes 链的单个.如果你看一下,这就是实际java.util.LinkedList类的编写方式.