为了看一下我们两个运行的时间我们写了一个测试样例
具体的ArrayQueue,LoopQueue的代码参考前面两个代码
package Queue;
import java.util.Random;
public class Test {
private static double testQueue(Queue<Integer> queue, int opCount) {
long startTime = System.nanoTime();
Random random = new Random();
for(int i = 0 ; i < opCount ; i++) {
//入队从0-1的最大值
queue.enqueue(random.nextInt(Integer.MAX_VALUE));
}
for(int i = 0 ; i < opCount ; i++) {
queue.dequeue();
}
long endTime = System.nanoTime();
return (endTime - startTime)/1000000000.0;
}
public static void main(String[] args) {
int opCount = 100000;
ArrayQueue<Integer> arrayqueue = new ArrayQueue<>();
LoopQueue<Integer> loopqueue = new LoopQueue<>();
System.out.println("ArrayQueue Time : "+testQueue(arrayqueue,opCount));
System.out.println("LoopQueue Time : "+testQueue(loopqueue,opCount));
}
}
100000
吹爆我们循环队列的优越性啊,这才十万的数据真的是差距很大了 四百倍的性能