所以我创建了一个Deque界面,但我不确定如何实例化我的Deque,我想使用ArrayDeque,但我相信ArrayDeque是另一个界面,而且我'我试图使用自己的界面。
public interface DequeInterface {
public void addFront(Object o);
public void addRead(Object o);
public Object removeFront();
public Object removeRear();
}
public class Deque implements DequeInterface {
}
答案 0 :(得分:0)
来自评论:
他们不需要在方法中具体实现,只是粗略概述了我会做什么。
假设你想使用循环缓冲区实现(参见Wikipedia),这是一个开始:
public class Deque implements DequeInterface {
private Object[] array;
private int frontIndex;
private Object[] rearIndex;
public Deque() {
// Allocate array of 100
// Initialize front index and rear index
}
public void addFront(Object o) {
if (array full) {
// Increase array size
}
array[frontIndex--] = o;
// Handle frontIndex circling around
}
public void addRead(Object o) {
// TODO
}
public Object removeFront() {
// TODO
}
public Object removeRear() {
// TODO
}
}
当然,如果您选择使用链接列表实现,那么该大纲将会有所不同。或多个子阵列。或其他实施。