我很快用Java写了一个链表类。我想编写另一个使用链表的队列类。我将如何在 Java 中实现这一点?我不完全理解 Implements/extends 关键字...这就是我的队列的样子(例如):
public class Queue<T> implements LinkedList
{
protected LinkedList<T> list;
public Queue() {
list = new LinkedList<T>();
}
public void add( T element) {
list.add( element);
}
public T removeLast() {
return list.removeLast();
}
}
另请注意,链表类也是通用的。 我知道已经有内置类来实现此功能,但我想学习(这就是我尝试手动执行此操作的原因)
编辑:此外,最后,我希望能够这样说:
Queue<String> aQueue = new LinkedList<String>();
最佳答案
如果你想要类似 Queue<String> aQueue = new LinkedList<String>();
的行为那么你的LinkedList
必须扩展/实现 Queue
类/接口(interface)。请记住,父类(super class)可以是子类的对象引用实例,反之亦然。
public class LinkedList<T> implements Queue<T> {
class Node<T> {
T data;
Node<T> next;
}
//all your behavior here
}
此外,正如 Java 文档所述, Queue
是一个接口(interface)并且 LinkedList
实现它。
注意:如果您想使用 LinkedList 实现队列,您应该查看 @Tudor 发布的代码示例。
关于java - Java中使用链表实现的队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10471049/