定义一个泛型类MyQueue,实现队列的基本操作:add、remove、peek、isEmpty
时间: 2023-11-08 07:13:03 浏览: 62
。```java
public class MyQueue<T> {
private LinkedList<T> list;
public MyQueue() {
list = new LinkedList<T>();
}
public void add(T element) {
list.addLast(element);
}
public T remove() {
if (isEmpty()) {
throw new NoSuchElementException("Queue is empty.");
}
return list.removeFirst();
}
public T peek() {
if (isEmpty()) {
throw new NoSuchElementException("Queue is empty.");
}
return list.getFirst();
}
public boolean isEmpty() {
return list.isEmpty();
}
}
```
其中,LinkedList是Java集合框架中的一个双向链表实现,可以高效地支持队列的操作。泛型参数T表示队列中元素的类型,可以是任意类型。在构造函数中,创建一个空的LinkedList对象,表示一个空队列。add方法利用LinkedList的addLast方法实现入队操作;remove方法利用LinkedList的removeFirst方法实现出队操作,并在队列为空时抛出NoSuchElementException异常;peek方法利用LinkedList的getFirst方法获取队首元素,但不从队列中删除,也在队列为空时抛出NoSuchElementException异常;isEmpty方法利用LinkedList的isEmpty方法判断队列是否为空。