我的任务是创建一个在不使用 Deque 库的情况下添加到 ArrayDeque 的前面(左)的方法。我想出了一个方法,虽然它没有添加到队列中,但它出现了一个空队列。这是我的 addLeft 方法:
public T[] addLeft(T item){
T[] copyarr = (T[]) new Object[arr.length+1];
if(isEmpty()){
copyarr[frontPos] = item;
}else{
copyarr[frontPos] = item;
frontPos--;
for(int i = 1; i<copyarr.length; i++){
copyarr[i] = arr[i];
}
}
arr = copyarr;
return arr;
}
这是iv一直在使用的测试代码:
public class DequeueTest {
public static void main(String[] args) {
Dequeue test = new Dequeue();
test.addLeft(3);
test.addLeft(4);
System.out.println(test.toString());
}
}
知道我哪里出错了吗?