📅  最后修改于: 2023-12-03 15:31:49.659000             🧑  作者: Mango
在Java中,AbstractQueue是一个抽象类,它实现了Queue接口中的大部分方法,使用该类可以更轻松地创建自定义队列,同时还可以利用一些已实现的Queue接口中的方法。
add()方法是AbstractQueue类中的一个方法,其作用是在队列的末尾添加指定的元素。如果队列已满,则会抛出异常。
add()方法的语法如下:
boolean add(E e)
参数说明:
e
: 要添加到队列中的元素返回值:
import java.util.AbstractQueue;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Queue;
public class MyQueue<E> extends AbstractQueue<E> {
private LinkedList<E> list = new LinkedList<E>();
@Override
public Iterator<E> iterator() {
return list.iterator();
}
@Override
public int size() {
return list.size();
}
@Override
public boolean offer(E e) {
list.add(e);
return true;
}
@Override
public E poll() {
if (list.isEmpty()) {
return null;
}
return list.removeFirst();
}
@Override
public E peek() {
if (list.isEmpty()) {
return null;
}
return list.getFirst();
}
public static void main(String[] args) {
MyQueue<String> queue = new MyQueue<String>();
queue.add("Java");
queue.add("Python");
queue.add("C++");
queue.add("PHP");
Iterator<String> it = queue.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
System.out.println("队列中元素的个数: " + queue.size());
System.out.println("移除队列中的第一个元素: " + queue.poll());
System.out.println("队列中元素的个数: " + queue.size());
System.out.println("查看队列头部元素: " + queue.peek());
}
}
运行结果:
Java
Python
C++
PHP
队列中元素的个数: 4
移除队列中的第一个元素: Java
队列中元素的个数: 3
查看队列头部元素: Python
本示例中,我们自定义了一个名为MyQueue的队列,继承了AbstractQueue类,实现了offer()、poll()、peek()、iterator()和size()方法。然后我们通过add()方法添加元素,iterator()方法遍历队列,并使用poll()和peek()方法移除和查看队列中的元素。