obj*_*sea 2 java generics abstract-data-type
对于CS类,我需要使用三种数据结构来解决分配的问题:Queue,PriorityQueue和Stack.我想使用抽象数据结构编写单一的问题解决方案.我将使用每个所需数据类型的包装类来实现ADT.这是我到目前为止:
一个名为Method的接口:
public interface Method<E> {
public abstract void add(E data);
public abstract E remove();
public abstract E peek();
public abstract Iterator<E> Iterator();
}
Run Code Online (Sandbox Code Playgroud)
以及实现该接口的三个包装类.我称他们为QueueMethod,StackMethod和PriorityQueueMethod.我在实现界面时遇到了一些麻烦.这是实现的开始,它给出了错误"Class不是抽象的,并且不会覆盖抽象方法add(java.lang.Object)".据我所知,两种添加方法的签名是相同的.
这是QueueMethod包装类的开头:
public class PriorityQueueMethod<T> implements Method {
PriorityQueue<T> queue;
public PriorityQueueMethod() {
queue = new PriorityQueue<T>();
}
public void add(T data) {
queue.offer(data);
}
}
Run Code Online (Sandbox Code Playgroud)
将泛型添加到您正在实现的Method类中,如下所示:
public class PriorityQueueMethod<T> implements Method<T>
Run Code Online (Sandbox Code Playgroud)