💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
[TOC] 用上面写的动态数组模拟 # 接口 ~~~ public interface Queue<E> { int getSize(); boolean isEmpty(); void enqueue(E e); E dequeue(); E getFront(); } ~~~ # 代码实现 ~~~ package com.array; public class ArrayQueue<E> implements Queue<E> { private Array<E> array; public ArrayQueue(int capacity) { array = new Array<E>(capacity); } public ArrayQueue() { array = new Array<E>(); } public int getCapacity() { //获取数组的容量 return array.getCapacity(); } @Override public int getSize() { return array.getSize(); } //判断是不是空 @Override public boolean isEmpty() { return array.isEmpty(); } //添加元素,是尾部 @Override public void enqueue(E e) { array.addLast(e); } //取出元素,是头部 @Override public E dequeue() { return array.removeFirst(); } //查看对首是谁 @Override public E getFront() { return array.getFirst(); } @Override public String toString() { StringBuilder res = new StringBuilder(); res.append("Queue: "); //front表示对首 res.append("front ["); for (int i = 0; i < array.getSize(); i++) { res.append(array.get(i)); if (i != array.getSize() - 1) { res.append(","); } } //tail表示对尾 res.append("] tail"); return res.toString(); } } ~~~ # 测试 ~~~ public static void main(String[] args) { ArrayQueue<Integer> queue = new ArrayQueue<Integer>(); for (int i = 0; i < 10; i++) { queue.enqueue(i); System.out.println(queue); if (i % 3 == 2) { queue.dequeue(); System.out.println(queue); } } } ~~~ # 复杂度分析 ![](https://box.kancloud.cn/360b10158bc12b169b1be461d1415df7_803x562.png)